summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
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 ad82b53b4..e10bf3ac4 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})
@@ -434,6 +433,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)