summaryrefslogtreecommitdiffstats
path: root/src/vnet/gre/test/test_gre.py
diff options
context:
space:
mode:
authorNeale Ranns <neale@graphiant.com>2021-03-15 14:42:30 +0000
committerNeale Ranns <neale@graphiant.com>2021-03-21 18:55:01 +0000
commitbd8e43dfa045b4aec4ecf4ad3e5503924b5c9c38 (patch)
treefe91b63cc88910c5497dd34a0f3c6e1d20a3ea9e /src/vnet/gre/test/test_gre.py
parent8d8150262b00435c365a43c8f859584901736aff (diff)
gre: Multipoint GRE fixes
Type: fix - the CLI was broken when a nh-table-id was present, since it overwrote the next-hop address - bouncing interface state stacked the adjacencies on the tunnel's destination (which is all zeros) - don't crash in the switch path if the interface has no hw-address Signed-off-by: Neale Ranns <neale@graphiant.com> Change-Id: I1ba9fdc9b2185899b753a2d40f23afa847a3ef4f
Diffstat (limited to 'src/vnet/gre/test/test_gre.py')
-rw-r--r--src/vnet/gre/test/test_gre.py28
1 files changed, 26 insertions, 2 deletions
diff --git a/src/vnet/gre/test/test_gre.py b/src/vnet/gre/test/test_gre.py
index 828fb731006..3192fee0e8a 100644
--- a/src/vnet/gre/test/test_gre.py
+++ b/src/vnet/gre/test/test_gre.py
@@ -1121,6 +1121,7 @@ class TestGRE(VppTestCase):
#
for ii in range(1, 4):
route_addr = "4.4.4.%d" % ii
+ tx_e = self.create_stream_ip4(self.pg0, "5.5.5.5", route_addr)
#
# route traffic via the peer
@@ -1131,6 +1132,15 @@ class TestGRE(VppTestCase):
gre_if.sw_if_index)])
route_via_tun.add_vpp_config()
+ # all packets dropped at this point
+ self.logger.error(self.vapi.cli("sh adj 19"))
+ rx = self.send_and_assert_no_replies(self.pg0, tx_e)
+
+ gre_if.admin_down()
+ gre_if.admin_up()
+ self.logger.error(self.vapi.cli("sh adj 19"))
+ rx = self.send_and_assert_no_replies(self.pg0, tx_e)
+
#
# Add a TEIB entry resolves the peer
#
@@ -1143,8 +1153,10 @@ class TestGRE(VppTestCase):
# Send a packet stream that is routed into the tunnel
# - packets are GRE encapped
#
- tx_e = self.create_stream_ip4(self.pg0, "5.5.5.5", route_addr)
- rx = self.send_and_expect(self.pg0, tx_e, itf)
+ try:
+ rx = self.send_and_expect(self.pg0, tx_e, itf)
+ finally:
+ self.logger.error(self.vapi.cli("sh adj 19"))
self.verify_tunneled_4o4(self.pg0, rx, tx_e,
itf.local_ip4,
itf._remote_hosts[ii].ip4)
@@ -1172,6 +1184,18 @@ class TestGRE(VppTestCase):
rx = self.send_and_expect(self.pg0, tx_i, self.pg0)
self.verify_decapped_4o4(self.pg0, rx, tx_i)
+ #
+ # bounce the interface state and try packets again
+ #
+ gre_if.admin_down()
+ gre_if.admin_up()
+ rx = self.send_and_expect(self.pg0, tx_e, itf)
+ self.verify_tunneled_4o4(self.pg0, rx, tx_e,
+ itf.local_ip4,
+ itf._remote_hosts[ii].ip4)
+ rx = self.send_and_expect(self.pg0, tx_i, self.pg0)
+ self.verify_decapped_4o4(self.pg0, rx, tx_i)
+
gre_if.admin_down()
gre_if.unconfig_ip4()