Add TAP support

- based on previously submitted schema and validation, can add a TAP
  with host netns, bridge and MTU.
- detect diffs in __tap_has_diff(), used to prune TAPs that must change
- add prune_taps() and create_taps() in the reconciler
- add Dumper() logic to emit YAML config for TAPs
- Move tap_is_lcp() into the VPPApi() class, so it can be reused

Add lots of test cases in intest/*.yaml and example.yaml - full
regression and integration and unit/YAML tests pass on this change.
This commit is contained in:
Pim van Pelt
2022-04-12 08:57:05 +00:00
parent 95f56bc865
commit 6637820021
6 changed files with 213 additions and 26 deletions

View File

@ -11,7 +11,8 @@ interfaces:
description: "LAG #2"
HundredGigabitEthernet12/0/0:
description: Not Used
mtu: 1500
description: "bridged with tap"
HundredGigabitEthernet12/0/1:
description: Not Used
@ -42,3 +43,23 @@ interfaces:
encapsulation:
dot1ad: 501
exact-match: False
tap100:
mtu: 1500
loopbacks:
loop100:
lcp: "bvi100"
addresses: [ 10.1.2.1/24 ]
bridgedomains:
bd100:
description: "Bridge Domain 100"
mtu: 1500
bvi: loop100
interfaces: [ HundredGigabitEthernet12/0/0, tap100 ]
taps:
tap100:
host:
name: vpp-tap100
mtu: 1500