diff options
Diffstat (limited to 'src')
| -rwxr-xr-x | src/conf_mode/vpp.py | 5 | ||||
| -rw-r--r-- | src/conf_mode/vpp_nat.py | 20 |
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) |
