Files
vppcfg/unittest/test_bridgedomain.yaml
Pim van Pelt 2415d30c0a Second part of a BVI refactor
The handling of BVI is awkward, with the autoderived interface name
"bviXX" based on the bridgedomain bd_id. Lots of special casing happens
on account of this decision, and to make matters worse there is poor
interaction (leading to VPP crashes) when BVIs and Loopbacks are used
at the same time: https://lists.fd.io/g/vpp-dev/message/21116

In this commit, I reintroduce the ability to set bridgedomain virtual
interfaces by means of the 'bvi' keyword. The 'bvi' must:
- be a Loopback interface
- must be used at most once (bvi_unique())

When pruning, I now need to prune bridgedomains before pruning
loopbacks, because any given loopback might be a BVI for a bridge. So,
I'll remove the loop/BVI from the bridge (by setting it to L3) and only
then removing the loopback from VPP.

In the reconciler, remove BVIs that have changed in prune_bridgedomains()
and set it in sync_bridgedomains().
2022-03-27 20:50:39 +00:00

70 lines
1.5 KiB
YAML

bondethernets:
BondEthernet0:
interfaces: [ GigabitEthernet3/0/0, GigabitEthernet3/0/1 ]
interfaces:
GigabitEthernet1/0/0:
mtu: 3000
GigabitEthernet1/0/1:
mtu: 3000
GigabitEthernet2/0/0:
mtu: 9000
sub-interfaces:
100:
mtu: 2000
GigabitEthernet2/0/1:
mtu: 9000
sub-interfaces:
100:
mtu: 2000
GigabitEthernet3/0/0:
mtu: 9000
sub-interfaces:
100:
description: "Also not in a bridgedomain"
GigabitEthernet3/0/1:
mtu: 9000
GigabitEthernet4/0/0:
mtu: 9000
GigabitEthernet4/0/1:
mtu: 9000
BondEthernet0:
mtu: 3000
sub-interfaces:
100:
mtu: 2000
loopbacks:
loop0:
description: "BVI for bd10"
loop1:
description: "BVI for bd13 and bd14"
bridgedomains:
bd10:
description: "Bridge Domain 10"
mtu: 3000
bvi: loop0
interfaces: [ GigabitEthernet1/0/0, GigabitEthernet1/0/1, BondEthernet0 ]
bd11:
description: "Bridge Domain 11, with sub-interfaces"
mtu: 2000
interfaces: [ GigabitEthernet2/0/0.100, GigabitEthernet2/0/1.100, BondEthernet0.100 ]
bd12:
description: "Bridge Domain 12, invalid because it has Gi1/0/0 as well"
mtu: 9000
interfaces: [ GigabitEthernet4/0/0, GigabitEthernet1/0/0 ]
bd13:
description: "Bridge Domain 13 and 14 cannot have the same BVI"
bvi: loop1
bd14:
description: "Bridge Domain 13 and 14 cannot have the same BVI"
bvi: loop1
bd15:
description: "Bridge Domain 15 has a non-existant BVI"
bvi: loop2