summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorViacheslav Hletenko <v.gletenko@vyos.io>2025-02-27 11:09:52 +0000
committerViacheslav Hletenko <v.gletenko@vyos.io>2025-02-27 11:09:52 +0000
commit7a263e00bc34688af3a3898756e462b16617e55a (patch)
tree9b3a4aba0c721f4f3d10038db8c6d7c5f69d78d8 /src
parentf8b0bc6e49d64c682ec78ba9128b57262037c05d (diff)
downloadvyos-1x-7a263e00bc34688af3a3898756e462b16617e55a.tar.gz
vyos-1x-7a263e00bc34688af3a3898756e462b16617e55a.zip
T7202: VPP allow to bridge bonding interfaces
Allow to bridge bonding interfaces: ``` set vpp interfaces bonding bond0 member interface 'eth1' set vpp interfaces bridge br10 member interface bond0 ```
Diffstat (limited to 'src')
-rw-r--r--src/conf_mode/vpp_interfaces_bridge.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/conf_mode/vpp_interfaces_bridge.py b/src/conf_mode/vpp_interfaces_bridge.py
index d98067a6a..dd5b49599 100644
--- a/src/conf_mode/vpp_interfaces_bridge.py
+++ b/src/conf_mode/vpp_interfaces_bridge.py
@@ -92,7 +92,7 @@ def verify(config):
# Check if interface exists in vpp before adding to bridge-domain
- allowed_prefixes = ('gre', 'geneve', 'lo', 'vxlan')
+ allowed_prefixes = ('bond', 'gre', 'geneve', 'lo', 'vxlan')
if 'member' in config:
bvi_exists = False
@@ -134,6 +134,9 @@ def apply(config):
if member.startswith('lo'):
# interface name in VPP is loopX
member = member.replace('lo', 'loop')
+ elif member.startswith('bond'):
+ # interface name in VPP is BondEthernetX
+ member = member.replace('bond', 'BondEthernet')
i.detach_member(member=member)
# Delete bridge domain
@@ -161,6 +164,9 @@ def apply(config):
member = member.replace('lo', 'loop')
if 'bvi' in member_config:
port_type = 1
+ elif member.startswith('bond'):
+ # interface name in VPP is BondEthernetX
+ member = member.replace('bond', 'BondEthernet')
br.add_member(member=member, port_type=port_type)
# set default port type 0 (not BVI)