diff options
| author | Viacheslav Hletenko <v.gletenko@vyos.io> | 2025-02-27 11:09:52 +0000 |
|---|---|---|
| committer | Viacheslav Hletenko <v.gletenko@vyos.io> | 2025-02-27 11:09:52 +0000 |
| commit | 7a263e00bc34688af3a3898756e462b16617e55a (patch) | |
| tree | 9b3a4aba0c721f4f3d10038db8c6d7c5f69d78d8 /src | |
| parent | f8b0bc6e49d64c682ec78ba9128b57262037c05d (diff) | |
| download | vyos-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.py | 8 |
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) |
