diff options
author | Steven Luong <sluong@cisco.com> | 2024-07-08 11:21:23 -0700 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2024-07-15 20:57:35 +0000 |
commit | 67bae20b05cb46e5f6d19afeaf1f7a52a5309d59 (patch) | |
tree | 2c05544136add3eeb35e29228a6ca30bc8d064e4 /test/asf/test_vcl.py | |
parent | ca2f2e1ec9131c01b340381f2cbbac2bc5951566 (diff) |
session: application namespace may reference a deleted vrf table
lock the vrf table when adding an application namespace and
unlock the vrf table when deleting an application namespace.
Free the session table when no more application namespace
uses it anymore to avoid memory leaks.
Type: fix
Change-Id: I10422c9a3b549bd4403962c925e29dd61a058eb0
Signed-off-by: Steven Luong <sluong@cisco.com>
Diffstat (limited to 'test/asf/test_vcl.py')
-rw-r--r-- | test/asf/test_vcl.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/test/asf/test_vcl.py b/test/asf/test_vcl.py index a0141be80b2..a186c6fe8c5 100644 --- a/test/asf/test_vcl.py +++ b/test/asf/test_vcl.py @@ -189,6 +189,12 @@ class VCLTestCase(VppAsfTestCase): self.logger.debug(self.vapi.cli("show ip fib")) def thru_host_stack_tear_down(self): + self.vapi.app_namespace_add_del_v4( + is_add=0, namespace_id="1", secret=1234, sw_if_index=self.loop0.sw_if_index + ) + self.vapi.app_namespace_add_del_v4( + is_add=0, namespace_id="2", secret=5678, sw_if_index=self.loop1.sw_if_index + ) for i in self.lo_interfaces: i.unconfig_ip4() i.set_table_ip4(0) @@ -240,6 +246,12 @@ class VCLTestCase(VppAsfTestCase): self.logger.debug(self.vapi.cli("show ip6 fib")) def thru_host_stack_ipv6_tear_down(self): + self.vapi.app_namespace_add_del_v4( + is_add=0, namespace_id="1", secret=1234, sw_if_index=self.loop0.sw_if_index + ) + self.vapi.app_namespace_add_del_v4( + is_add=0, namespace_id="2", secret=5678, sw_if_index=self.loop1.sw_if_index + ) for i in self.lo_interfaces: i.unconfig_ip6() i.set_table_ip6(0) @@ -994,6 +1006,34 @@ class LDPThruHostStackIperf(VCLTestCase): iperf3, self.server_iperf3_args, iperf3, self.client_iperf3_args ) + +class LDPThruHostStackIperfMss(VCLTestCase): + """LDP Thru Host Stack Iperf with MSS""" + + @classmethod + def setUpClass(cls): + super(LDPThruHostStackIperfMss, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(LDPThruHostStackIperfMss, cls).tearDownClass() + + def setUp(self): + super(LDPThruHostStackIperfMss, self).setUp() + + self.thru_host_stack_setup() + self.client_iperf3_timeout = 20 + self.client_iperf3_args = ["-4", "-t 2", "-c", self.loop0.local_ip4] + self.server_iperf3_args = ["-4", "-s"] + + def tearDown(self): + self.thru_host_stack_tear_down() + super(LDPThruHostStackIperfMss, self).tearDown() + + def show_commands_at_teardown(self): + self.logger.debug(self.vapi.cli("show session verbose 2")) + self.logger.debug(self.vapi.cli("show app mq")) + @unittest.skipUnless(_have_iperf3, "'%s' not found, Skipping.") def test_ldp_thru_host_stack_iperf3_mss(self): """run LDP thru host stack iperf3 test with mss option""" |