aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_urpf.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_urpf.py')
-rw-r--r--test/test_urpf.py55
1 files changed, 55 insertions, 0 deletions
diff --git a/test/test_urpf.py b/test/test_urpf.py
index 0eb8b055682..1e4a6c5bb34 100644
--- a/test/test_urpf.py
+++ b/test/test_urpf.py
@@ -317,6 +317,61 @@ class TestURPF(VppTestCase):
sw_if_index=self.pg1.sw_if_index,
)
+ def test_interface_dump(self):
+ """uRPF Interface Dump"""
+
+ self.create_loopback_interfaces(3)
+ e = VppEnum
+ self.vapi.urpf_update(
+ is_input=True,
+ mode=e.vl_api_urpf_mode_t.URPF_API_MODE_STRICT,
+ af=e.vl_api_address_family_t.ADDRESS_IP4,
+ sw_if_index=self.loop1.sw_if_index,
+ )
+ self.vapi.urpf_update(
+ is_input=False,
+ mode=e.vl_api_urpf_mode_t.URPF_API_MODE_LOOSE,
+ af=e.vl_api_address_family_t.ADDRESS_IP6,
+ sw_if_index=self.loop2.sw_if_index,
+ )
+
+ ret = self.vapi.urpf_interface_dump()
+ self.assertEqual(len(ret), 2)
+
+ dump_loop1 = ret[0]
+ dump_loop2 = ret[1]
+ self.assertEqual(dump_loop1.sw_if_index, self.loop1.sw_if_index)
+ self.assertTrue(dump_loop1.is_input)
+ self.assertEqual(dump_loop1.mode, e.vl_api_urpf_mode_t.URPF_API_MODE_STRICT)
+ self.assertEqual(dump_loop1.af, e.vl_api_address_family_t.ADDRESS_IP4)
+ self.assertEqual(dump_loop2.sw_if_index, self.loop2.sw_if_index)
+ self.assertFalse(dump_loop2.is_input)
+ self.assertEqual(dump_loop2.mode, e.vl_api_urpf_mode_t.URPF_API_MODE_LOOSE)
+ self.assertEqual(dump_loop2.af, e.vl_api_address_family_t.ADDRESS_IP6)
+
+ ret = self.vapi.urpf_interface_dump(sw_if_index=self.loop1.sw_if_index)
+ self.assertEqual(len(ret), 1)
+
+ dump_loop1 = ret[0]
+ self.assertEqual(dump_loop1.sw_if_index, self.loop1.sw_if_index)
+ self.assertTrue(dump_loop1.is_input)
+ self.assertEqual(dump_loop1.mode, e.vl_api_urpf_mode_t.URPF_API_MODE_STRICT)
+ self.assertEqual(dump_loop1.af, e.vl_api_address_family_t.ADDRESS_IP4)
+
+ # cleanup
+ self.vapi.urpf_update(
+ is_input=False,
+ mode=e.vl_api_urpf_mode_t.URPF_API_MODE_OFF,
+ af=e.vl_api_address_family_t.ADDRESS_IP4,
+ sw_if_index=self.loop1.sw_if_index,
+ )
+ self.vapi.urpf_update(
+ is_input=False,
+ mode=e.vl_api_urpf_mode_t.URPF_API_MODE_OFF,
+ af=e.vl_api_address_family_t.ADDRESS_IP6,
+ sw_if_index=self.loop2.sw_if_index,
+ )
+
if __name__ == "__main__":
unittest.main(testRunner=VppTestRunner)