X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Ftest_ipip.py;h=e4a893bca5162605bbf4ec56772c11abb0f63c69;hb=413f4a5;hp=989330faa6f53f7cb016137f0663efffb4e4eb6f;hpb=741865bb76b69430eae8966f56bb657bf16a5a26;p=vpp.git diff --git a/test/test_ipip.py b/test/test_ipip.py index 989330faa6f..e4a893bca51 100644 --- a/test/test_ipip.py +++ b/test/test_ipip.py @@ -8,7 +8,8 @@ from framework import VppTestCase, VppTestRunner from vpp_ip import DpoProto from vpp_ip_route import VppIpRoute, VppRoutePath, VppIpTable from socket import AF_INET, AF_INET6, inet_pton -import StringIO +from util import reassemble4 + """ Testipip is a subclass of VPPTestCase classes. @@ -17,21 +18,6 @@ IPIP tests. """ -# Replace by deframent from scapy. -def reassemble(listoffragments): - buffer = StringIO.StringIO() - first = listoffragments[0] - buffer.seek(20) - for pkt in listoffragments: - buffer.seek(pkt[IP].frag*8) - buffer.write(pkt[IP].payload) - first.len = len(buffer.getvalue()) + 20 - first.flags = 0 - del(first.chksum) - header = str(first[IP])[:20] - return first[IP].__class__(header + buffer.getvalue()) - - class TestIPIP(VppTestCase): """ IPIP Test Case """ @@ -60,7 +46,7 @@ class TestIPIP(VppTestCase): i.admin_down() def validate(self, rx, expected): - self.assertEqual(rx, expected.__class__(str(expected))) + self.assertEqual(rx, expected.__class__(expected)) def generate_ip4_frags(self, payload_length, fragment_size): p_ether = Ether(src=self.pg1.remote_mac, dst=self.pg1.local_mac) @@ -214,7 +200,7 @@ class TestIPIP(VppTestCase): self.pg1.add_stream(frags) self.pg_start() rx = self.pg0.get_capture(6) - reass_pkt = reassemble(rx) + reass_pkt = reassemble4(rx) p4_reply.ttl -= 1 p4_reply.id = 256 self.validate(reass_pkt, p4_reply) @@ -225,7 +211,7 @@ class TestIPIP(VppTestCase): self.pg1.add_stream(frags) self.pg_start() rx = self.pg0.get_capture(2) - reass_pkt = reassemble(rx) + reass_pkt = reassemble4(rx) p4_reply.ttl -= 1 p4_reply.id = 512 self.validate(reass_pkt, p4_reply) @@ -320,7 +306,7 @@ class TestIPIP6(VppTestCase): rv = self.vapi.ipip_del_tunnel(sw_if_index=self.tunnel_if_index) def validate(self, rx, expected): - self.assertEqual(rx, expected.__class__(str(expected))) + self.assertEqual(rx, expected.__class__(expected)) def generate_ip6_frags(self, payload_length, fragment_size): p_ether = Ether(src=self.pg1.remote_mac, dst=self.pg1.local_mac)