diff --git a/providers/p4runtime/packet/src/main/java/org/onosproject/provider/p4runtime/packet/impl/P4RuntimePacketProvider.java b/providers/p4runtime/packet/src/main/java/org/onosproject/provider/p4runtime/packet/impl/P4RuntimePacketProvider.java
index 1b7c280..8915172 100644
--- a/providers/p4runtime/packet/src/main/java/org/onosproject/provider/p4runtime/packet/impl/P4RuntimePacketProvider.java
+++ b/providers/p4runtime/packet/src/main/java/org/onosproject/provider/p4runtime/packet/impl/P4RuntimePacketProvider.java
@@ -134,7 +134,10 @@
                 treatment = outPacket().treatment();
             }
 
-            emit(new DefaultOutboundPacket(deviceId, treatment, rawData));
+            OutboundPacket outboundPacket = new DefaultOutboundPacket(deviceId, treatment, rawData);
+            log.debug("Processing outbound packet: {}", outboundPacket);
+
+            emit(outboundPacket);
         }
     }
 
@@ -143,7 +146,6 @@
      */
     private class InternalPacketListener implements P4RuntimeEventListener {
 
-
         @Override
         public void event(P4RuntimeEvent event) {
             P4RuntimePacketIn eventSubject = (P4RuntimePacketIn) event.subject();
@@ -157,6 +159,7 @@
                     //FIXME Wrapping of bytebuffer might be optimized with .asReadOnlyByteBuffer()
                     OutboundPacket outPkt = new DefaultOutboundPacket(eventSubject.deviceId(), null,
                             ByteBuffer.wrap(operation.data().asArray()));
+                    log.debug("Processing inbound packet: {}", inPkt.toString());
                     //Creating PacketContext
                     PacketContext pktCtx = new P4RuntimePacketContext(System.currentTimeMillis(), inPkt, outPkt, false);
                     //Sendign the ctx up for processing.
