From 983d296eafe97a21cf2c326aa1267edfd5308d37 Mon Sep 17 00:00:00 2001 From: Nataliia Solomko Date: Thu, 5 Jun 2025 11:32:41 +0300 Subject: T7515: Fix VPP NAT44 timeouts --- src/conf_mode/vpp.py | 7 ------- src/conf_mode/vpp_nat.py | 15 +++++++++++++++ 2 files changed, 15 insertions(+), 7 deletions(-) (limited to 'src') 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__': -- cgit v1.2.3