summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@vyos.io>2025-10-21 12:38:20 +0100
committerGitHub <noreply@github.com>2025-10-21 12:38:20 +0100
commitfd8794f36b487ba2102cc50437056e93eb62f7f3 (patch)
tree8e9ef01c346a89f2310cf495c8c6fbbc2131756b /src
parentad0ad372dc8e00cd12ccf024257dcb130329982e (diff)
parentccd60aa1f45763da550c0f5d796ab0798b6645a7 (diff)
downloadvyos-1x-fd8794f36b487ba2102cc50437056e93eb62f7f3.tar.gz
vyos-1x-fd8794f36b487ba2102cc50437056e93eb62f7f3.zip
Merge pull request #4795 from natali-rs1985/T7930
T7930: VPP: Changing NAT44 settings resets `forwarding_enabled` to False
Diffstat (limited to 'src')
-rwxr-xr-xsrc/conf_mode/vpp.py5
-rw-r--r--src/conf_mode/vpp_nat.py20
2 files changed, 13 insertions, 12 deletions
diff --git a/src/conf_mode/vpp.py b/src/conf_mode/vpp.py
index 7124c738a..f16711901 100755
--- a/src/conf_mode/vpp.py
+++ b/src/conf_mode/vpp.py
@@ -749,11 +749,6 @@ def apply(config):
# NAT44 settings
nat44_settings = config['settings'].get('nat44', {})
- enable_forwarding = True
- if 'no_forwarding' in nat44_settings:
- enable_forwarding = False
- vpp_control.enable_disable_nat44_forwarding(enable_forwarding)
-
vpp_control.set_nat44_session_limit(
int(nat44_settings.get('session_limit'))
)
diff --git a/src/conf_mode/vpp_nat.py b/src/conf_mode/vpp_nat.py
index 28edbdf19..0425159b4 100644
--- a/src/conf_mode/vpp_nat.py
+++ b/src/conf_mode/vpp_nat.py
@@ -108,13 +108,12 @@ def get_config(config=None) -> dict:
}
)
- if conf.exists(['vpp', 'settings', 'nat44', 'timeout']):
- timeouts = conf.get_config_dict(
- ['vpp', 'settings', 'nat44', 'timeout'],
- key_mangling=('-', '_'),
- with_defaults=True,
- )
- config.update(timeouts)
+ settings = conf.get_config_dict(
+ ['vpp', 'settings', 'nat44'],
+ key_mangling=('-', '_'),
+ with_recursive_defaults=True,
+ )
+ config.update(settings.get('nat44'))
if effective_config:
config.update({'effective': effective_config})
@@ -437,6 +436,13 @@ def apply(config):
# Add NAT44
n.enable_nat44_ed()
+
+ # Enable/disable forwarding
+ enable_forwarding = True
+ if 'no_forwarding' in config:
+ enable_forwarding = False
+ n.enable_disable_nat44_forwarding(enable_forwarding)
+
# Add inside interfaces
for interface in config['interface']['inside']:
n.add_nat44_interface_inside(interface)