[VOL-2231] Cleaning the packet-in/out logs and dumping packets in HEX

Change-Id: I9b11a4b70d014544e77e03e851df03d19b72d750
diff --git a/adaptercore/device_handler.go b/adaptercore/device_handler.go
index 9f38133..58ab478 100644
--- a/adaptercore/device_handler.go
+++ b/adaptercore/device_handler.go
@@ -1013,12 +1013,20 @@
 // For this, it calls SendPacketIn of the core-proxy which uses a device specific topic to send the request.
 // The adapter handling the device creates a device specific topic
 func (dh *DeviceHandler) SendPacketInToCore(logicalPort uint32, packetPayload []byte) {
-	log.Debugw("SendPacketInToCore", log.Fields{"port": logicalPort, "packetPayload": packetPayload})
+	log.Debugw("send-packet-in-to-core", log.Fields{
+		"port":   logicalPort,
+		"packet": hex.EncodeToString(packetPayload),
+	})
 	if err := dh.coreProxy.SendPacketIn(context.TODO(), dh.device.Id, logicalPort, packetPayload); err != nil {
-		log.Errorw("Error sending packetin to core", log.Fields{"error": err})
+		log.Errorw("Error sending packetin to core", log.Fields{
+			"error":  err,
+			"packet": hex.EncodeToString(packetPayload),
+		})
 		return
 	}
-	log.Debug("Sent packet-in to core successfully")
+	log.Debugw("Sent packet-in to core successfully", log.Fields{
+		"packet": hex.EncodeToString(packetPayload),
+	})
 }
 
 // AddUniPortToOnu adds the uni port to the onu device
@@ -1312,24 +1320,42 @@
 }
 
 func (dh *DeviceHandler) handlePacketIndication(packetIn *oop.PacketIndication) {
-	log.Debugw("Received packet-in", log.Fields{"packet-indication": *packetIn})
+	log.Debugw("Received packet-in", log.Fields{
+		"packet-indication": *packetIn,
+		"packet":            hex.EncodeToString(packetIn.Pkt),
+	})
 	logicalPortNum, err := dh.flowMgr.GetLogicalPortFromPacketIn(packetIn)
 	if err != nil {
-		log.Errorw("Error getting logical port from packet-in", log.Fields{"error": err})
+		log.Errorw("Error getting logical port from packet-in", log.Fields{
+			"error":  err,
+			"packet": hex.EncodeToString(packetIn.Pkt),
+		})
 		return
 	}
-	log.Debugw("sending packet-in to core", log.Fields{"logicalPortNum": logicalPortNum, "packet": *packetIn})
+	log.Debugw("sending packet-in to core", log.Fields{
+		"logicalPortNum": logicalPortNum,
+		"packet":         hex.EncodeToString(packetIn.Pkt),
+	})
 	if err := dh.coreProxy.SendPacketIn(context.TODO(), dh.device.Id, logicalPortNum, packetIn.Pkt); err != nil {
-		log.Errorw("Error sending packet-in to core", log.Fields{"error": err})
+		log.Errorw("Error sending packet-in to core", log.Fields{
+			"error":  err,
+			"packet": hex.EncodeToString(packetIn.Pkt),
+		})
 		return
 	}
-	log.Debug("Success sending packet-in to core!")
+	log.Debugw("Success sending packet-in to core!", log.Fields{
+		"packet": hex.EncodeToString(packetIn.Pkt),
+	})
 }
 
 // PacketOut sends packet-out from VOLTHA to OLT on the egress port provided
 func (dh *DeviceHandler) PacketOut(egressPortNo int, packet *of.OfpPacketOut) error {
-	log.Debugw("incoming-packet-out", log.Fields{"deviceID": dh.deviceID, "egress_port_no": egressPortNo,
-		"pkt-length": len(packet.Data), "packetData": hex.EncodeToString(packet.Data)})
+	log.Debugw("incoming-packet-out", log.Fields{
+		"deviceID":       dh.deviceID,
+		"egress_port_no": egressPortNo,
+		"pkt-length":     len(packet.Data),
+		"packet":         hex.EncodeToString(packet.Data),
+	})
 
 	egressPortType := IntfIDToPortTypeName(uint32(egressPortNo))
 	if egressPortType == voltha.Port_ETHERNET_UNI {
@@ -1352,29 +1378,50 @@
 			// In this case the openolt agent will receive the gemPortID as 0.
 			// The agent tries to retrieve the gemPortID in this case.
 			// This may not always succeed at the agent and packetOut may fail.
-			log.Error("failed-to-retrieve-gemport-id-for-packet-out")
+			log.Errorw("failed-to-retrieve-gemport-id-for-packet-out", log.Fields{
+				"packet": hex.EncodeToString(packet.Data),
+			})
 		}
 
 		onuPkt := oop.OnuPacket{IntfId: intfID, OnuId: onuID, PortNo: uint32(egressPortNo), GemportId: gemPortID, Pkt: packet.Data}
 
-		log.Debugw("sending-packet-to-onu", log.Fields{"egress_port_no": egressPortNo, "IntfId": intfID, "onuID": onuID,
-			"uniID": uniID, "gemPortID": gemPortID, "packet": hex.EncodeToString(packet.Data)})
+		log.Debugw("sending-packet-to-onu", log.Fields{
+			"egress_port_no": egressPortNo,
+			"IntfId":         intfID,
+			"onuID":          onuID,
+			"uniID":          uniID,
+			"gemPortID":      gemPortID,
+			"packet":         hex.EncodeToString(packet.Data),
+		})
 
 		if _, err := dh.Client.OnuPacketOut(context.Background(), &onuPkt); err != nil {
-			log.Errorw("Error while sending packet-out to ONU", log.Fields{"error": err})
+			log.Errorw("Error while sending packet-out to ONU", log.Fields{
+				"error":  err,
+				"packet": hex.EncodeToString(packet.Data),
+			})
 			return err
 		}
 	} else if egressPortType == voltha.Port_ETHERNET_NNI {
 		uplinkPkt := oop.UplinkPacket{IntfId: IntfIDFromNniPortNum(uint32(egressPortNo)), Pkt: packet.Data}
 
-		log.Debugw("sending-packet-to-nni", log.Fields{"uplink_pkt": uplinkPkt, "packet": hex.EncodeToString(packet.Data)})
+		log.Debugw("sending-packet-to-nni", log.Fields{
+			"uplink_pkt": uplinkPkt,
+			"packet":     hex.EncodeToString(packet.Data),
+		})
 
 		if _, err := dh.Client.UplinkPacketOut(context.Background(), &uplinkPkt); err != nil {
-			log.Errorw("Error while sending packet-out to NNI", log.Fields{"error": err})
+			log.Errorw("Error while sending packet-out to NNI", log.Fields{
+				"error":  err,
+				"packet": hex.EncodeToString(packet.Data),
+			})
 			return err
 		}
 	} else {
-		log.Warnw("Packet-out-to-this-interface-type-not-implemented", log.Fields{"egress_port_no": egressPortNo, "egressPortType": egressPortType})
+		log.Warnw("Packet-out-to-this-interface-type-not-implemented", log.Fields{
+			"egress_port_no": egressPortNo,
+			"egressPortType": egressPortType,
+			"packet":         hex.EncodeToString(packet.Data),
+		})
 	}
 	return nil
 }
diff --git a/adaptercore/openolt_flowmgr.go b/adaptercore/openolt_flowmgr.go
index 4064cfe..f1c0639 100644
--- a/adaptercore/openolt_flowmgr.go
+++ b/adaptercore/openolt_flowmgr.go
@@ -20,6 +20,7 @@
 import (
 	"context"
 	"crypto/md5"
+	"encoding/hex"
 	"encoding/json"
 	"errors"
 	"fmt"
@@ -1561,7 +1562,11 @@
 	} else if packetIn.IntfType == "nni" {
 		logicalPortNum = IntfIDToPortNo(packetIn.IntfId, voltha.Port_ETHERNET_NNI)
 	}
-	log.Debugw("Retrieved logicalport from  packet-in", log.Fields{"logicalPortNum": logicalPortNum, "IntfType": packetIn.IntfType})
+	log.Debugw("Retrieved logicalport from  packet-in", log.Fields{
+		"logicalPortNum": logicalPortNum,
+		"IntfType":       packetIn.IntfType,
+		"packet":         hex.EncodeToString(packetIn.Pkt),
+	})
 	return logicalPortNum, nil
 }