summaryrefslogtreecommitdiff
path: root/smoketest/scripts/cli
diff options
context:
space:
mode:
authorViacheslav Hletenko <v.gletenko@vyos.io>2025-12-11 11:26:06 +0200
committerGitHub <noreply@github.com>2025-12-11 11:26:06 +0200
commitdb841de87054f79adc53ad744287e8121f405db0 (patch)
tree1b01abe21a5fd12b0ac3151b098d65deb1c6e732 /smoketest/scripts/cli
parent781691031f68d5ad0f32b34703a5650844685a0b (diff)
parente091fb8bd87da8c9cd56f3435b39134b917a57a2 (diff)
downloadvyos-1x-db841de87054f79adc53ad744287e8121f405db0.tar.gz
vyos-1x-db841de87054f79adc53ad744287e8121f405db0.zip
Merge pull request #4880 from natali-rs1985/T7972
vpp: T7972: Make `nat44 no-forwarding` feature automatically configurable
Diffstat (limited to 'smoketest/scripts/cli')
-rwxr-xr-xsmoketest/scripts/cli/test_vpp.py22
1 files changed, 21 insertions, 1 deletions
diff --git a/smoketest/scripts/cli/test_vpp.py b/smoketest/scripts/cli/test_vpp.py
index 51ada6cb1..9f67b79c8 100755
--- a/smoketest/scripts/cli/test_vpp.py
+++ b/smoketest/scripts/cli/test_vpp.py
@@ -1366,6 +1366,13 @@ class TestVPP(VyOSUnitTestSHIM.TestCase):
self.cli_set(
base_nat + ['address-pool', 'translation', 'address', translation_pool]
)
+ self.cli_commit()
+
+ # Forwarding is disabled when only dynamic NAT is configured
+ vpp = VPPControl()
+ out = vpp.api.nat44_show_running_config().forwarding_enabled
+ self.assertFalse(out)
+
self.cli_set(
base_nat + ['exclude', 'rule', '100', 'local-address', exclude_local_addr]
)
@@ -1386,7 +1393,6 @@ class TestVPP(VyOSUnitTestSHIM.TestCase):
base_nat + ['static', 'rule', '100', 'local', 'address', static_local_addr]
)
- self.cli_set(base_nat_settings + ['no-forwarding'])
self.cli_set(base_nat_settings + ['session-limit', sess_limit])
self.cli_set(base_nat_settings + ['timeout', 'icmp', timeout_icmp])
self.cli_set(
@@ -1426,6 +1432,20 @@ class TestVPP(VyOSUnitTestSHIM.TestCase):
_, out = rc_cmd('sudo vppctl show nat44 summary')
self.assertIn(f'max translations per thread: {sess_limit} fib 0', out)
+ # Forwarding should be disabled with statyc+dynamic NAT
+ vpp = VPPControl()
+ out = vpp.api.nat44_show_running_config().forwarding_enabled
+ self.assertFalse(out)
+
+ # Delete dynamic NAT and check forwarding
+ self.cli_delete(base_nat + ['address-pool'])
+ self.cli_commit()
+
+ # Forwarding should be enabled if only statyc NAT is configured
+ vpp = VPPControl()
+ out = vpp.api.nat44_show_running_config().forwarding_enabled
+ self.assertTrue(out)
+
def test_17_vpp_sflow(self):
base_sflow = ['system', 'sflow']
sampling_rate = '1500'