X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=test%2Ftest_mpls.py;h=d265e85ed5e0897167abe51a90bbbc9ae79682b6;hb=4c7c8e55b03e21787cafb11cd49b9488c5ffef70;hp=460a32d1fc122db4d8a1ec13f8fe6917b9ba36d2;hpb=b3d1b203579226ca5136b9d6a2744577d07cfcc6;p=vpp.git diff --git a/test/test_mpls.py b/test/test_mpls.py index 460a32d1fc1..d265e85ed5e 100644 --- a/test/test_mpls.py +++ b/test/test_mpls.py @@ -106,6 +106,7 @@ class TestMPLS(VppTestCase): ping=0, ip_itf=None, dst_ip=None, + chksum=None, n=257): self.reset_packet_infos() pkts = [] @@ -133,6 +134,8 @@ class TestMPLS(VppTestCase): dst=ip_itf.local_ip4) / ICMP()) + if chksum: + p[IP].chksum = chksum info.data = p.copy() pkts.append(p) return pkts @@ -152,7 +155,7 @@ class TestMPLS(VppTestCase): return pkts def create_stream_labelled_ip6(self, src_if, mpls_label, mpls_ttl, - dst_ip=None): + dst_ip=None, hlim=64): if dst_ip is None: dst_ip = src_if.remote_ip6 self.reset_packet_infos() @@ -162,7 +165,7 @@ class TestMPLS(VppTestCase): payload = self.info_to_payload(info) p = (Ether(dst=src_if.local_mac, src=src_if.remote_mac) / MPLS(label=mpls_label, ttl=mpls_ttl) / - IPv6(src=src_if.remote_ip6, dst=dst_ip) / + IPv6(src=src_if.remote_ip6, dst=dst_ip, hlim=hlim) / UDP(sport=1234, dport=1234) / Raw(payload)) info.data = p.copy() @@ -1025,6 +1028,14 @@ class TestMPLS(VppTestCase): rx = self.pg1.get_capture(257) self.verify_capture_ip4(self.pg1, rx, tx) + # + # disposed packets have an invalid IPv4 checkusm + # + tx = self.create_stream_labelled_ip4(self.pg0, [34], + dst_ip="232.1.1.1", n=65, + chksum=1) + self.send_and_assert_no_replies(self.pg0, tx, "Invalid Checksum") + # # set the RPF-ID of the enrtry to not match the input packet's # @@ -1032,6 +1043,7 @@ class TestMPLS(VppTestCase): tx = self.create_stream_labelled_ip4(self.pg0, [34], dst_ip="232.1.1.1") self.send_and_assert_no_replies(self.pg0, tx, "RPF-ID drop 56") + self.logger.error(self.vapi.cli("sh error")) def test_mcast_ip6_tail(self): """ MPLS IPv6 Multicast Tail """ @@ -1091,6 +1103,13 @@ class TestMPLS(VppTestCase): rx = self.pg1.get_capture(257) self.verify_capture_ip6(self.pg1, rx, tx) + # + # disposed packets have hop-limit = 1 + # + tx = self.create_stream_labelled_ip6(self.pg0, [34], 255, + dst_ip="ff01::1", hlim=1) + self.send_and_assert_no_replies(self.pg0, tx, "Hop Limt Expired") + # # set the RPF-ID of the enrtry to not match the input packet's #