aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2017-12-14 08:51:32 -0800
committerDamjan Marion <dmarion.lists@gmail.com>2017-12-16 19:39:26 +0000
commit33ce60d6759bbbfebb7d489aa591b696e140d870 (patch)
treeeda75c292952f754813648b5a49d0ca5f17a69f3 /test
parent8e66b9bf4ba90279631e6a0e8ccc2eab5f9156c2 (diff)
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 <nranns@cisco.com>
Diffstat (limited to 'test')
-rw-r--r--test/test_gre.py19
-rw-r--r--test/vpp_gre_interface.py4
2 files changed, 21 insertions, 2 deletions
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
@@ -674,6 +674,25 @@ class TestGRE(VppTestCase):
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
#
route_tun_dst.remove_vpp_config()
diff --git a/test/vpp_gre_interface.py b/test/vpp_gre_interface.py
index 1c71875f73a..acfd348d64f 100644
--- a/test/vpp_gre_interface.py
+++ b/test/vpp_gre_interface.py
@@ -9,7 +9,7 @@ class VppGreInterface(VppInterface):
"""
def __init__(self, test, src_ip, dst_ip, outer_fib_id=0, is_teb=0):
- """ Create VPP loopback interface """
+ """ Create VPP GRE interface """
self._sw_if_index = 0
super(VppGreInterface, self).__init__(test)
self._test = test
@@ -42,7 +42,7 @@ class VppGre6Interface(VppInterface):
"""
def __init__(self, test, src_ip, dst_ip, outer_fib_id=0, is_teb=0):
- """ Create VPP loopback interface """
+ """ Create VPP GRE interface """
self._sw_if_index = 0
super(VppGre6Interface, self).__init__(test)
self._test = test