diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/test_snat.py | 15 | ||||
-rw-r--r-- | test/vpp_papi_provider.py | 46 |
2 files changed, 61 insertions, 0 deletions
diff --git a/test/test_snat.py b/test/test_snat.py index ace17237b38..fe5af418aea 100644 --- a/test/test_snat.py +++ b/test/test_snat.py @@ -1686,6 +1686,21 @@ class TestDeterministicNAT(MethodHolder): self.logger.error(ppp("Unexpected or invalid packet", p)) raise + # session close api test + self.vapi.snat_det_close_session_out(socket.inet_aton(nat_ip), + external_port1, + self.pg1.remote_ip4n, + port_out) + dms = self.vapi.snat_det_map_dump() + self.assertEqual(dms[0].ses_num, 1) + + self.vapi.snat_det_close_session_in(host0.ip4n, + port_in, + self.pg1.remote_ip4n, + port_out) + dms = self.vapi.snat_det_map_dump() + self.assertEqual(dms[0].ses_num, 0) + def test_tcp_session_close_detection_in(self): """ CGNAT TCP session close initiated from inside network """ self.vapi.snat_add_det_map(self.pg0.remote_ip4n, diff --git a/test/vpp_papi_provider.py b/test/vpp_papi_provider.py index 4541f01a1bd..a485cefcf96 100644 --- a/test/vpp_papi_provider.py +++ b/test/vpp_papi_provider.py @@ -1226,6 +1226,52 @@ class VppPapiProvider(object): """ return self.api(self.papi.snat_det_get_timeouts, {}) + def snat_det_close_session_out( + self, + out_addr, + out_port, + ext_addr, + ext_port, + is_ip4=1): + """Close CGN session using outside address and port + + :param out_addr - outside IP address + :param out_port - outside port + :param ext_addr - external host IP address + :param ext_port - external host port + :param is_ip4: 1 if address type is IPv4 (Default value = 1) + """ + return self.api( + self.papi.snat_det_close_session_out, + {'out_addr': out_addr, + 'out_port': out_port, + 'ext_addr': ext_addr, + 'ext_port': ext_port, + 'is_ip4': is_ip4}) + + def snat_det_close_session_in( + self, + in_addr, + in_port, + ext_addr, + ext_port, + is_ip4=1): + """Close CGN session using inside address and port + + :param in_addr - inside IP address + :param in_port - inside port + :param ext_addr - external host IP address + :param ext_port - external host port + :param is_ip4: 1 if address type is IPv4 (Default value = 1) + """ + return self.api( + self.papi.snat_det_close_session_in, + {'in_addr': in_addr, + 'in_port': in_port, + 'ext_addr': ext_addr, + 'ext_port': ext_port, + 'is_ip4': is_ip4}) + def control_ping(self): self.api(self.papi.control_ping) |