summaryrefslogtreecommitdiff
path: root/src/conf_mode/vpp_kernel-interfaces.py
diff options
context:
space:
mode:
authorNataliia Solomko <natalirs1985@gmail.com>2025-10-07 18:21:06 +0300
committerNataliia Solomko <natalirs1985@gmail.com>2025-10-14 15:41:37 +0300
commit888eec975ff765216e4c65ba15ed9176d7dee7ea (patch)
tree650d0f2ed8edd656e00bb8c8c4d583b5c9e90213 /src/conf_mode/vpp_kernel-interfaces.py
parentfc178aaf00f7a9dc4589567ae3e17cb9718d9ad3 (diff)
downloadvyos-1x-888eec975ff765216e4c65ba15ed9176d7dee7ea.tar.gz
vyos-1x-888eec975ff765216e4c65ba15ed9176d7dee7ea.zip
T7750: VPP: CGNAT commit failure with vpptunX interface
Allow using bond interfaces in CGNAT. Improve interface cleanup to rely on VPP API queries, as VPP config changes may modify interface indexes
Diffstat (limited to 'src/conf_mode/vpp_kernel-interfaces.py')
-rw-r--r--src/conf_mode/vpp_kernel-interfaces.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/conf_mode/vpp_kernel-interfaces.py b/src/conf_mode/vpp_kernel-interfaces.py
index 85706094e..d10449eec 100644
--- a/src/conf_mode/vpp_kernel-interfaces.py
+++ b/src/conf_mode/vpp_kernel-interfaces.py
@@ -19,6 +19,7 @@
import os
from vyos.config import Config
+from vyos.configdep import set_dependents, call_dependents
from vyos.configdict import leaf_node_changed
from vyos.configdict import node_changed
from vyos import ConfigError
@@ -79,6 +80,9 @@ def get_config(config=None) -> dict:
if vlans_removed:
config['vlans_removed'] = vlans_removed
+ if conf.exists(['vpp', 'nat', 'cgnat']):
+ set_dependents('vpp_nat_cgnat', conf)
+
config['ifname'] = ifname
return config
@@ -185,6 +189,8 @@ def apply(config):
lcp_name = vpp_control.lcp_pair_find(kernel_name=ifname).get('vpp_name_kernel')
vpp_control.iface_rxmode(lcp_name, rx_mode)
+ call_dependents()
+
return None