diff --git a/python/ofagent/grpc_client.py b/python/ofagent/grpc_client.py
index e4b260e..c8b2580 100755
--- a/python/ofagent/grpc_client.py
+++ b/python/ofagent/grpc_client.py
@@ -33,6 +33,7 @@
     FlowGroupTableUpdate, PacketOut
 from voltha_protos.logical_device_pb2 import LogicalPortId
 from google.protobuf import empty_pb2
+from binascii import hexlify
 
 
 log = get_logger()
@@ -126,7 +127,8 @@
                                            packet_in)
                     log.debug('enqueued-packet-in',
                               packet_in=packet_in,
-                              queue_len=len(self.packet_in_queue.pending))
+                              queue_len=len(self.packet_in_queue.pending),
+                              packet=hexlify(packet_in.packet_in.data))
             except _Rendezvous, e:
                 log.error('grpc-exception', status=e.code())
                 if e.code() == StatusCode.UNAVAILABLE:
@@ -172,13 +174,13 @@
             packet_in = yield self.packet_in_queue.get()
             device_id = packet_in.id
             ofp_packet_in = packet_in.packet_in
-            log.debug('grpc client to send packet-in')
+            log.debug('grpc client to send packet-in', packet=hexlify(packet_in.packet_in.data))
             self.connection_manager.forward_packet_in(device_id, ofp_packet_in)
             if self.stopped:
                 break
 
     def send_packet_out(self, device_id, packet_out):
-        log.debug('grpc client to send packet-out')
+        log.debug('grpc client to send packet-out', packet=hexlify(packet_out.data))
         packet_out = PacketOut(id=device_id, packet_out=packet_out)
         self.packet_out_queue.put(packet_out)
 
diff --git a/python/ofagent/of_protocol_handler.py b/python/ofagent/of_protocol_handler.py
index e90ca5b..a4b3f70 100755
--- a/python/ofagent/of_protocol_handler.py
+++ b/python/ofagent/of_protocol_handler.py
@@ -18,6 +18,7 @@
 
 import loxi.of13 as ofp
 from converter import to_loxi, pb2dict, to_grpc
+from binascii import hexlify
 
 log = structlog.get_logger()
 
@@ -348,7 +349,7 @@
 
     def forward_packet_in(self, ofp_packet_in):
         if self.role == ofp.OFPCR_ROLE_MASTER or self.role == ofp.OFPCR_ROLE_EQUAL:
-           log.info('sending-packet-in', ofp_packet_in=ofp_packet_in)
+           log.info('sending-packet-in', ofp_packet_in=ofp_packet_in, packet=hexlify(ofp_packet_in.data))
            self.cxn.send(to_loxi(ofp_packet_in))
 
     def forward_port_status(self, ofp_port_status):
