From 33ce60d6759bbbfebb7d489aa591b696e140d870 Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Thu, 14 Dec 2017 08:51:32 -0800 Subject: GRE tunnel key includes the FIB table - GRE tunnels with the same src,dst addresses are not the same tunnel - Two data-plane improvements: - the cached key was never updated and so useless - no need to dereference the tunnel's HW interface to get the sw_if_index Change-Id: I2f2ea6e08c759a810b753cec22c497e921a2ca01 Signed-off-by: Neale Ranns --- test/test_gre.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'test/test_gre.py') diff --git a/test/test_gre.py b/test/test_gre.py index 5cdc0637a1a..7032940cfdb 100644 --- a/test/test_gre.py +++ b/test/test_gre.py @@ -673,6 +673,25 @@ class TestGRE(VppTestCase): rx = self.pg0.get_capture(len(tx)) self.verify_decapped_4o4(self.pg0, rx, tx) + # + # Send tunneled packets that match the created tunnel and + # but arrive on an interface that is not in the tunnel's + # encap VRF, these are dropped + # + self.vapi.cli("clear trace") + tx = self.create_tunnel_stream_4o4(self.pg2, + "2.2.2.2", + self.pg1.local_ip4, + self.pg0.local_ip4, + self.pg0.remote_ip4) + self.pg1.add_stream(tx) + + self.pg_enable_capture(self.pg_interfaces) + self.pg_start() + + self.pg0.assert_nothing_captured( + remark="GRE decap packets in wrong VRF") + # # test case cleanup # -- cgit 1.2.3-korg