edited
diff --git a/tests/message_types.py b/tests/message_types.py
index 404fa74..3bfddd2 100644
--- a/tests/message_types.py
+++ b/tests/message_types.py
@@ -326,13 +326,15 @@
             (response, raw) = self.controller.poll(ofp.OFPT_PACKET_IN, timeout=3)
             self.assertTrue(response is not None,
                         'Packet In not received on control plane')
-        
-            # Verify data bytes sent in packet_in is same as miss_send_length
-            if bytes==0:
+
+            #Verify buffer_id field and data field
+            if response.buffer_id == -1:
+                self.assertTrue(len(response.data)==len(str(pkt)),"Buffer None here but packet_in is not a complete packet")
+            elif (bytes==0):
                 self.assertEqual(len(response.data),bytes,"PacketIn Size is not equal to miss_send_len") 
             else:
                 self.assertTrue(len(response.data)>=bytes,"PacketIn Size is not atleast miss_send_len bytes") 
-
+                
 
 class PacketInSizeAction(base_tests.SimpleDataPlane):
 
@@ -358,6 +360,7 @@
         match.wildcards=ofp.OFPFW_ALL
         match.in_port = of_ports[0]
 
+
         max_len = [0 ,32 ,64,100]
         
         for bytes in max_len :
@@ -365,6 +368,7 @@
             #Insert a flow entry with action --output to controller
             request = message.flow_mod()
             request.match = match
+            request.buffer_id = 0xffffffff
             act = action.action_output()
             act.port = ofp.OFPP_CONTROLLER
             act.max_len = bytes 
@@ -384,14 +388,14 @@
             self.assertTrue(response is not None,
                         'Packet in message not received by controller')
 
-            #Verify buffer_id field 
-            self.assertTrue(response.buffer_id != -1,"PacketIn buffer field is incorrect")
-
-            #Verify the reasON field is OFPR_ACTION
+            #Verify the reason field is OFPR_ACTION
             self.assertEqual(response.reason,ofp.OFPR_ACTION,"PacketIn reason field is incorrect")
 
-            #verify the data field
-            self.assertTrue(len(response.data)<=bytes,"Packet_in size is greater than max_len field")
+            #Verify buffer_id field and data field
+            if response.buffer_id != -1:
+                self.assertTrue(len(response.data)<=bytes,"Packet_in size is greater than max_len field")
+            else:
+                self.assertTrue(len(response.data)==len(str(pkt)),"Buffer None here but packet_in is not a complete packet")
 
            
 class PacketInBodyMiss(base_tests.SimpleDataPlane):
@@ -443,7 +447,6 @@
         self.assertTrue(len(response.data) == len(str(pkt)), "Complete Data packet was not sent")
 
 
-
 class PacketInBodyAction(base_tests.SimpleDataPlane):
 
     """Verify the packet_in message body, when packet_in is generated due to action output to controller"""