From 8bf68e858a30a9c04329668d2b5dd67e9ad6f5af Mon Sep 17 00:00:00 2001 From: Matus Fabian Date: Thu, 12 Jan 2017 04:24:35 -0800 Subject: SNAT: add API and test for NAT pool address from interface Change-Id: I2a868f736fae8d37b438c604a9284653ea415541 Signed-off-by: Matus Fabian --- test/test_snat.py | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'test/test_snat.py') diff --git a/test/test_snat.py b/test/test_snat.py index d23becf5ce9..653496e2880 100644 --- a/test/test_snat.py +++ b/test/test_snat.py @@ -26,7 +26,7 @@ class TestSNAT(VppTestCase): cls.icmp_id_out = 6305 cls.snat_addr = '10.0.0.3' - cls.create_pg_interfaces(range(7)) + cls.create_pg_interfaces(range(8)) cls.interfaces = list(cls.pg_interfaces[0:4]) for i in cls.interfaces: @@ -48,6 +48,8 @@ class TestSNAT(VppTestCase): i.admin_up() i.resolve_arp() + cls.pg7.admin_up() + except Exception: super(TestSNAT, cls).tearDownClass() raise @@ -178,6 +180,10 @@ class TestSNAT(VppTestCase): """ Clear SNAT configuration. """ + interfaces = self.vapi.snat_interface_addr_dump() + for intf in interfaces: + self.vapi.snat_add_interface_addr(intf.sw_if_index, is_add=0) + interfaces = self.vapi.snat_interface_dump() for intf in interfaces: self.vapi.snat_interface_add_del_feature(intf.sw_if_index, @@ -623,6 +629,24 @@ class TestSNAT(VppTestCase): # verify number of translated packet self.pg1.get_capture(pkts_num) + def test_interface_addr(self): + """ Acquire SNAT addresses from interface """ + self.vapi.snat_add_interface_addr(self.pg7.sw_if_index) + + # no address in NAT pool + adresses = self.vapi.snat_address_dump() + self.assertEqual(0, len(adresses)) + + # configure interface address and check NAT address pool + self.pg7.config_ip4() + adresses = self.vapi.snat_address_dump() + self.assertEqual(1, len(adresses)) + + # remove interface address and check NAT address pool + self.pg7.unconfig_ip4() + adresses = self.vapi.snat_address_dump() + self.assertEqual(0, len(adresses)) + def tearDown(self): super(TestSNAT, self).tearDown() if not self.vpp_dead: -- cgit 1.2.3-korg