X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Ftest_ipip.py;h=e4a893bca5162605bbf4ec56772c11abb0f63c69;hb=7f99183a20d60cd5c648cc23d7a2f30a594a215b;hp=b7a0179957b058a576a6de8d0f6f4edd4967ce49;hpb=282093f1fe783b5d36a014d4495995cd64e2e3fb;p=vpp.git diff --git a/test/test_ipip.py b/test/test_ipip.py index b7a0179957b..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 """ @@ -41,9 +27,9 @@ class TestIPIP(VppTestCase): cls.create_pg_interfaces(range(2)) cls.interfaces = list(cls.pg_interfaces) - def setUp(cls): - super(TestIPIP, cls).setUp() - for i in cls.interfaces: + def setUp(self): + super(TestIPIP, self).setUp() + for i in self.interfaces: i.admin_up() i.config_ip4() i.config_ip6() @@ -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)