summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorViacheslav Hletenko <v.gletenko@vyos.io>2025-06-05 16:46:01 +0300
committerGitHub <noreply@github.com>2025-06-05 16:46:01 +0300
commitbeed1b690f89c7085b2ba2ece48168735f771a5f (patch)
tree62958dc2058698732df9ddc12a06dc324c5c1382 /src
parentadf968ab142c12cb8f53e207aafcc0ccb67e28c5 (diff)
parent983d296eafe97a21cf2c326aa1267edfd5308d37 (diff)
downloadvyos-1x-beed1b690f89c7085b2ba2ece48168735f771a5f.tar.gz
vyos-1x-beed1b690f89c7085b2ba2ece48168735f771a5f.zip
Merge pull request #36 from natali-rs1985/T7515
T7515: Fix VPP NAT44 timeouts
Diffstat (limited to 'src')
-rwxr-xr-xsrc/conf_mode/vpp.py7
-rw-r--r--src/conf_mode/vpp_nat.py15
2 files changed, 15 insertions, 7 deletions
diff --git a/src/conf_mode/vpp.py b/src/conf_mode/vpp.py
index ed0e80c2c..029adbdec 100755
--- a/src/conf_mode/vpp.py
+++ b/src/conf_mode/vpp.py
@@ -745,13 +745,6 @@ def apply(config):
enable_forwarding = False
vpp_control.enable_disable_nat44_forwarding(enable_forwarding)
- vpp_control.set_nat_timeouts(
- icmp=int(nat44_settings.get('timeout').get('icmp')),
- udp=int(nat44_settings.get('timeout').get('udp')),
- tcp_established=int(nat44_settings.get('timeout').get('tcp_established')),
- tcp_transitory=int(nat44_settings.get('timeout').get('tcp_transitory')),
- )
-
vpp_control.set_nat44_session_limit(int(nat44_settings.get('session_limit')))
if nat44_settings.get('workers'):
diff --git a/src/conf_mode/vpp_nat.py b/src/conf_mode/vpp_nat.py
index a6bc70032..77b9400e3 100644
--- a/src/conf_mode/vpp_nat.py
+++ b/src/conf_mode/vpp_nat.py
@@ -104,6 +104,14 @@ 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)
+
if effective_config:
config.update({'effective': effective_config})
@@ -453,6 +461,13 @@ def apply(config):
port=int(rule_config.get('local_port', 0)),
interface=rule_config.get('external_interface'),
)
+ if 'timeout' in config:
+ n.set_nat_timeouts(
+ icmp=int(config.get('timeout').get('icmp')),
+ udp=int(config.get('timeout').get('udp')),
+ tcp_established=int(config.get('timeout').get('tcp_established')),
+ tcp_transitory=int(config.get('timeout').get('tcp_transitory')),
+ )
if __name__ == '__main__':