X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Ftest_ip4.py;h=1a611251eb5774a252eb6e64de72e55040e3b0eb;hb=fe7d4a2e31529eed5416b38b520fdc84687df03c;hp=b05635f95ee1a718cfd500cb938c38196d9eec56;hpb=4c7c8e55b03e21787cafb11cd49b9488c5ffef70;p=vpp.git diff --git a/test/test_ip4.py b/test/test_ip4.py index b05635f95ee..1a611251eb5 100644 --- a/test/test_ip4.py +++ b/test/test_ip4.py @@ -572,14 +572,6 @@ class TestIPDisabled(VppTestCase): i.unconfig_ip4() i.admin_down() - def send_and_assert_no_replies(self, intf, pkts, remark): - intf.add_stream(pkts) - self.pg_enable_capture(self.pg_interfaces) - self.pg_start() - for i in self.pg_interfaces: - i.get_capture(0) - i.assert_nothing_captured(remark=remark) - def test_ip_disabled(self): """ IP Disabled """ @@ -667,14 +659,6 @@ class TestIPSubNets(VppTestCase): for i in self.pg_interfaces: i.admin_down() - def send_and_assert_no_replies(self, intf, pkts, remark): - intf.add_stream(pkts) - self.pg_enable_capture(self.pg_interfaces) - self.pg_start() - for i in self.pg_interfaces: - i.get_capture(0) - i.assert_nothing_captured(remark=remark) - def test_ip_sub_nets(self): """ IP Sub Nets """ @@ -985,12 +969,6 @@ class TestIPVlan0(VppTestCase): i.admin_down() super(TestIPVlan0, self).tearDown() - def send_and_expect(self, input, pkts, output): - input.add_stream(pkts) - self.pg_enable_capture(self.pg_interfaces) - self.pg_start() - rx = output.get_capture(len(pkts)) - def test_ip_vlan_0(self): """ IP VLAN-0 """ @@ -1028,23 +1006,6 @@ class TestIPPunt(VppTestCase): i.unconfig_ip4() i.admin_down() - def send_and_expect(self, input, pkts, output): - self.vapi.cli("clear trace") - input.add_stream(pkts) - self.pg_enable_capture(self.pg_interfaces) - self.pg_start() - rx = output.get_capture(len(pkts)) - return rx - - def send_and_assert_no_replies(self, intf, pkts, remark): - self.vapi.cli("clear trace") - intf.add_stream(pkts) - self.pg_enable_capture(self.pg_interfaces) - self.pg_start() - for i in self.pg_interfaces: - i.get_capture(0) - i.assert_nothing_captured(remark=remark) - def test_ip_punt(self): """ IP punt police and redirect """ @@ -1138,23 +1099,6 @@ class TestIPDeag(VppTestCase): i.unconfig_ip4() i.admin_down() - def send_and_expect(self, input, pkts, output): - self.vapi.cli("clear trace") - input.add_stream(pkts) - self.pg_enable_capture(self.pg_interfaces) - self.pg_start() - rx = output.get_capture(len(pkts)) - return rx - - def send_and_assert_no_replies(self, intf, pkts, remark): - self.vapi.cli("clear trace") - intf.add_stream(pkts) - self.pg_enable_capture(self.pg_interfaces) - self.pg_start() - for i in self.pg_interfaces: - i.get_capture(0) - i.assert_nothing_captured(remark=remark) - def test_ip_deag(self): """ IP Deag Routes """ @@ -1246,23 +1190,6 @@ class TestIPInput(VppTestCase): i.unconfig_ip4() i.admin_down() - def send_and_expect(self, input, pkts, output): - self.vapi.cli("clear trace") - input.add_stream(pkts) - self.pg_enable_capture(self.pg_interfaces) - self.pg_start() - rx = output.get_capture(len(pkts)) - return rx - - def send_and_assert_no_replies(self, intf, pkts, remark): - self.vapi.cli("clear trace") - intf.add_stream(pkts) - self.pg_enable_capture(self.pg_interfaces) - self.pg_start() - for i in self.pg_interfaces: - i.get_capture(0) - i.assert_nothing_captured(remark=remark) - def test_ip_input(self): """ IP Input Exceptions """ @@ -1360,7 +1287,32 @@ class TestIPInput(VppTestCase): self.assertEqual(icmp.src, self.pg0.remote_ip4) self.assertEqual(icmp.dst, self.pg1.remote_ip4) - self.logger.error(self.vapi.cli("sh error")) + # + # MTU exceeded + # + p_mtu = (Ether(src=self.pg0.remote_mac, + dst=self.pg0.local_mac) / + IP(src=self.pg0.remote_ip4, + dst=self.pg1.remote_ip4, + ttl=10) / + UDP(sport=1234, dport=1234) / + Raw('\xa5' * 2000)) + + self.vapi.sw_interface_set_mtu(self.pg1.sw_if_index, 1500) + + rx = self.send_and_expect(self.pg0, p_mtu * 65, self.pg0) + rx = rx[0] + icmp = rx[ICMP] + + self.assertEqual(icmptypes[icmp.type], "dest-unreach") + self.assertEqual(icmpcodes[icmp.type][icmp.code], + "fragmentation-needed") + self.assertEqual(icmp.src, self.pg0.remote_ip4) + self.assertEqual(icmp.dst, self.pg1.remote_ip4) + + self.vapi.sw_interface_set_mtu(self.pg1.sw_if_index, 2500) + rx = self.send_and_expect(self.pg0, p_mtu * 65, self.pg1) + if __name__ == '__main__': unittest.main(testRunner=VppTestRunner)