pkt glitch FIXED... ovs was not sending a bufferid

Change-Id: Id6fedf7c6ed8fbcfefb7308b0ee442e614e5e3af
diff --git a/providers/openflow/packet/src/main/java/org/onlab/onos/provider/of/packet/impl/OpenFlowCorePacketContext.java b/providers/openflow/packet/src/main/java/org/onlab/onos/provider/of/packet/impl/OpenFlowCorePacketContext.java
index 248e17d..e7c4443 100644
--- a/providers/openflow/packet/src/main/java/org/onlab/onos/provider/of/packet/impl/OpenFlowCorePacketContext.java
+++ b/providers/openflow/packet/src/main/java/org/onlab/onos/provider/of/packet/impl/OpenFlowCorePacketContext.java
@@ -32,18 +32,19 @@
     public void send() {
         if (!this.block()) {
             if (outPacket() == null) {
-                sendBufferedPacket();
+                sendPacket(null);
             } else {
                 Ethernet eth = new Ethernet();
                 eth.deserialize(outPacket().data().array(), 0,
                         outPacket().data().array().length);
-                ofPktCtx.build(eth, OFPort.FLOOD);
+                sendPacket(eth);
+
             }
 
         }
     }
 
-    private void sendBufferedPacket() {
+    private void sendPacket(Ethernet eth) {
         List<Instruction> ins = treatmentBuilder().build().instructions();
         OFPort p = null;
         //TODO: support arbitrary list of treatments must be supported in ofPacketContext
@@ -53,10 +54,13 @@
                 break; //for now...
             }
         }
-        ofPktCtx.build(p);
+        if (eth == null) {
+            ofPktCtx.build(p);
+        } else {
+            ofPktCtx.build(eth, p);
+        }
         ofPktCtx.send();
     }
-
     private OFPort buildPort(PortNumber port) {
         return OFPort.of((int) port.toLong());
     }