diff --git a/core/api/src/main/java/org/onlab/onos/net/packet/DefaultPacketContext.java b/core/api/src/main/java/org/onlab/onos/net/packet/DefaultPacketContext.java
new file mode 100644
index 0000000..6b77225
--- /dev/null
+++ b/core/api/src/main/java/org/onlab/onos/net/packet/DefaultPacketContext.java
@@ -0,0 +1,48 @@
+package org.onlab.onos.net.packet;
+
+
+public abstract class DefaultPacketContext implements PacketContext {
+
+    private final long time;
+    private final InboundPacket inPkt;
+    private final OutboundPacket outPkt;
+    private boolean block = false;
+
+    protected DefaultPacketContext(long time, InboundPacket inPkt,
+            OutboundPacket outPkt, boolean block) {
+        super();
+        this.time = time;
+        this.inPkt = inPkt;
+        this.outPkt = outPkt;
+        this.block = block;
+    }
+
+    @Override
+    public long time() {
+        return time;
+    }
+
+    @Override
+    public InboundPacket inPacket() {
+        return inPkt;
+    }
+
+    @Override
+    public OutboundPacket outPacket() {
+        return outPkt;
+    }
+
+    @Override
+    public abstract void send();
+
+    @Override
+    public void block() {
+        this.block = true;
+    }
+
+    @Override
+    public boolean isHandled() {
+        return this.block;
+    }
+
+}
