Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Refactor IP input checks for re-use at MPLS disposition
[vpp.git]
/
test
/
test_mpls.py
diff --git
a/test/test_mpls.py
b/test/test_mpls.py
index
460a32d
..
d265e85
100644
(file)
--- 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,
ping=0,
ip_itf=None,
dst_ip=None,
+ chksum=None,
n=257):
self.reset_packet_infos()
pkts = []
n=257):
self.reset_packet_infos()
pkts = []
@@
-133,6
+134,8
@@
class TestMPLS(VppTestCase):
dst=ip_itf.local_ip4) /
ICMP())
dst=ip_itf.local_ip4) /
ICMP())
+ if chksum:
+ p[IP].chksum = chksum
info.data = p.copy()
pkts.append(p)
return pkts
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,
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()
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) /
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()
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)
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
#
#
# 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")
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 """
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)
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
#
#
# set the RPF-ID of the enrtry to not match the input packet's
#