build: reworked with setuptools

Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
This commit is contained in:
Ray Kinsella
2022-06-29 17:43:23 +01:00
parent 4c35df7239
commit b15106b88c
114 changed files with 65 additions and 54 deletions

View File

@ -0,0 +1,21 @@
interfaces:
GigabitEthernet3/0/0:
mtu: 1500
mac: 00:25:90:0c:05:00
state: down
description: Not Used
GigabitEthernet3/0/1:
mtu: 1500
mac: 00:25:90:0c:05:01
state: down
description: Not Used
HundredGigabitEthernet12/0/0:
mtu: 1500
mac: b4:96:91:b3:b1:10
state: down
description: Not Used
HundredGigabitEthernet12/0/1:
mtu: 1500
mac: b4:96:91:b3:b1:11
state: down
description: Not Used

92
vppcfg/intest/hippo1.yaml Normal file
View File

@ -0,0 +1,92 @@
bondethernets:
BondEthernet0:
interfaces: [ GigabitEthernet3/0/0, GigabitEthernet3/0/1 ]
BondEthernet1:
mode: xor
interfaces:
GigabitEthernet3/0/0:
mtu: 9000
description: "LAG #1"
GigabitEthernet3/0/1:
mtu: 9000
description: "LAG #2"
HundredGigabitEthernet12/0/0:
lcp: "ice0"
mtu: 9000
addresses: [ 192.0.2.17/30, 2001:db8:3::1/64 ]
sub-interfaces:
1234:
mtu: 1200
lcp: "ice0.1234"
encapsulation:
dot1q: 1234
exact-match: True
1235:
mtu: 1100
lcp: "ice0.1234.1000"
encapsulation:
dot1q: 1234
inner-dot1q: 1000
exact-match: True
HundredGigabitEthernet12/0/1:
mtu: 2000
description: "Bridged"
BondEthernet0:
mtu: 9000
lcp: "be0"
sub-interfaces:
100:
mtu: 2500
l2xc: BondEthernet0.200
encapsulation:
dot1q: 100
exact-match: False
200:
mtu: 2500
l2xc: BondEthernet0.100
encapsulation:
dot1q: 200
exact-match: False
500:
mtu: 2000
encapsulation:
dot1ad: 500
exact-match: False
501:
mtu: 2000
encapsulation:
dot1ad: 501
exact-match: False
BondEthernet1:
mtu: 1500
vxlan_tunnel1:
mtu: 2000
loopbacks:
loop0:
lcp: "lo0"
addresses: [ 10.0.0.1/32, 2001:db8::1/128 ]
loop1:
mtu: 2000
lcp: "bvi1"
addresses: [ 10.0.1.1/24, 2001:db8:1::1/64 ]
bridgedomains:
bd1:
mtu: 2000
bvi: loop1
interfaces: [ BondEthernet0.500, BondEthernet0.501, HundredGigabitEthernet12/0/1, vxlan_tunnel1 ]
bd11:
mtu: 1500
vxlan_tunnels:
vxlan_tunnel1:
local: 192.0.2.1
remote: 192.0.2.2
vni: 101

View File

@ -0,0 +1,46 @@
bondethernets:
BondEthernet0:
interfaces: [ GigabitEthernet3/0/0, GigabitEthernet3/0/1 ]
mode: lacp
load-balance: l2
interfaces:
GigabitEthernet3/0/0:
mtu: 9000
description: "LAG #1"
GigabitEthernet3/0/1:
mtu: 9000
description: "LAG #2"
HundredGigabitEthernet12/0/0:
description: Not Used
HundredGigabitEthernet12/0/1:
description: Not Used
BondEthernet0:
mtu: 9000
lcp: "be0"
sub-interfaces:
100:
mtu: 2500
l2xc: BondEthernet0.200
encapsulation:
dot1q: 100
exact-match: False
200:
mtu: 2500
l2xc: BondEthernet0.100
encapsulation:
dot1q: 200
exact-match: False
500:
mtu: 2000
encapsulation:
dot1ad: 500
exact-match: False
501:
mtu: 2000
encapsulation:
dot1ad: 501
exact-match: False

View File

@ -0,0 +1,65 @@
bondethernets:
BondEthernet0:
interfaces: [ GigabitEthernet3/0/0, GigabitEthernet3/0/1 ]
interfaces:
GigabitEthernet3/0/0:
mtu: 9000
description: "LAG #1"
GigabitEthernet3/0/1:
mtu: 9000
description: "LAG #2"
HundredGigabitEthernet12/0/0:
mtu: 1500
description: "bridged with tap"
HundredGigabitEthernet12/0/1:
description: Not Used
BondEthernet0:
mtu: 9000
lcp: "be0"
sub-interfaces:
200:
mtu: 2500
l2xc: BondEthernet0.100
encapsulation:
dot1q: 100
exact-match: False
100:
mtu: 2500
l2xc: BondEthernet0.200
encapsulation:
dot1q: 200
exact-match: False
501:
mtu: 2000
encapsulation:
dot1ad: 500
exact-match: False
500:
mtu: 2000
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

100
vppcfg/intest/hippo12.yaml Normal file
View File

@ -0,0 +1,100 @@
bondethernets:
BondEthernet0:
interfaces: [ GigabitEthernet3/0/0, GigabitEthernet3/0/1 ]
mode: xor
load-balance: l2
interfaces:
GigabitEthernet3/0/0:
mtu: 9000
description: "LAG #1"
GigabitEthernet3/0/1:
mtu: 9000
description: "LAG #2"
HundredGigabitEthernet12/0/0:
lcp: "ice12-0-0"
mtu: 9000
addresses: [ 192.0.2.17/30, 2001:db8:3::1/64 ]
sub-interfaces:
1234:
mtu: 1200
lcp: "ice0.1234"
encapsulation:
dot1q: 1234
exact-match: True
1235:
mtu: 1100
lcp: "ice0.1234.1000"
encapsulation:
dot1q: 1234
inner-dot1q: 1000
exact-match: True
HundredGigabitEthernet12/0/1:
mtu: 2000
description: "Bridged"
BondEthernet0:
mtu: 9000
lcp: "bond0"
sub-interfaces:
10:
lcp: "bond0.10"
mtu: 3000
100:
mtu: 2500
l2xc: BondEthernet0.200
encapsulation:
dot1q: 100
exact-match: False
200:
mtu: 2500
l2xc: BondEthernet0.100
encapsulation:
dot1q: 200
exact-match: False
500:
mtu: 2000
encapsulation:
dot1ad: 500
exact-match: False
501:
mtu: 2000
encapsulation:
dot1ad: 501
exact-match: False
vxlan_tunnel1:
mtu: 2000
tap100:
mtu: 9000
loopbacks:
loop0:
lcp: "lo0"
mac: de:ad:00:be:ef:00
addresses: [ 10.0.0.1/32, 2001:db8::1/128 ]
loop1:
mtu: 2000
lcp: "bvi1"
addresses: [ 10.0.1.1/24, 2001:db8:1::1/64 ]
bridgedomains:
bd1:
mtu: 2000
bvi: loop1
interfaces: [ BondEthernet0.500, BondEthernet0.501, HundredGigabitEthernet12/0/1, vxlan_tunnel1 ]
bd11:
mtu: 1500
vxlan_tunnels:
vxlan_tunnel1:
local: 192.0.2.1
remote: 192.0.2.2
vni: 101
taps:
tap100:
host:
name: vpp-tap
mtu: 9000

103
vppcfg/intest/hippo13.yaml Normal file
View File

@ -0,0 +1,103 @@
bondethernets:
BondEthernet0:
mac: 02:b0:b0:00:00:01
interfaces: [ GigabitEthernet3/0/0, GigabitEthernet3/0/1 ]
interfaces:
GigabitEthernet3/0/0:
mtu: 9000
description: "LAG #1"
GigabitEthernet3/0/1:
mtu: 9000
description: "LAG #2"
HundredGigabitEthernet12/0/0:
lcp: "ice0"
mtu: 9000
addresses: [ 192.0.2.17/30, 2001:db8:3::1/64 ]
sub-interfaces:
1234:
mtu: 1500
lcp: "ice0.1234"
encapsulation:
dot1q: 1234
exact-match: True
1235:
mtu: 1500
lcp: "ice0.1234.1000"
encapsulation:
dot1q: 1234
inner-dot1q: 1000
exact-match: True
HundredGigabitEthernet12/0/1:
mtu: 2000
description: "Bridged"
BondEthernet0:
mtu: 9000
lcp: "bond0"
sub-interfaces:
10:
lcp: "bond0.10"
mtu: 3000
100:
mtu: 2500
l2xc: BondEthernet0.200
encapsulation:
dot1q: 100
exact-match: False
200:
mtu: 2500
l2xc: BondEthernet0.100
encapsulation:
dot1q: 200
exact-match: False
500:
mtu: 2000
encapsulation:
dot1ad: 500
exact-match: False
501:
mtu: 2000
encapsulation:
dot1ad: 501
exact-match: False
vxlan_tunnel0:
mtu: 1500
addresses: [ 192.0.2.1/29, 2001:db8:1:1::1/64 ]
lcp: "vxlan0"
sub-interfaces:
100:
lcp: "vxlan0.100"
addresses: [ 192.0.2.33/29, 2001:db8:1:2::1/64 ]
vxlan_tunnel1:
mtu: 2000
loopbacks:
loop0:
lcp: "lo0"
addresses: [ 10.0.0.1/32, 2001:db8::1/128 ]
loop1:
mtu: 2000
lcp: "bvi1"
addresses: [ 10.0.1.1/24, 2001:db8:1::1/64 ]
bridgedomains:
bd1:
mtu: 2000
bvi: loop1
interfaces: [ BondEthernet0.500, BondEthernet0.501, HundredGigabitEthernet12/0/1, vxlan_tunnel1 ]
bd11:
mtu: 1500
vxlan_tunnels:
vxlan_tunnel0:
local: 2001:db8::1
remote: 2001:db8::2
vni: 100
vxlan_tunnel1:
local: 192.0.2.1
remote: 192.0.2.2
vni: 101

View File

@ -0,0 +1,34 @@
interfaces:
GigabitEthernet3/0/0:
mtu: 9000
state: up
sub-interfaces:
100:
mtu: 9000
l2xc: tap100
GigabitEthernet3/0/1:
mtu: 1500
mac: 00:25:90:0c:05:01
state: down
description: Not Used
HundredGigabitEthernet12/0/0:
mtu: 1500
mac: b4:96:91:b3:b1:10
state: down
description: Not Used
HundredGigabitEthernet12/0/1:
mtu: 1500
mac: b4:96:91:b3:b1:11
state: down
description: Not Used
tap100:
mtu: 9000
l2xc: GigabitEthernet3/0/0.100
taps:
tap100:
host:
name: vpp-tap100
mac: 02:01:be:ef:ca:fe
mtu: 9000

62
vppcfg/intest/hippo2.yaml Normal file
View File

@ -0,0 +1,62 @@
interfaces:
GigabitEthernet3/0/0:
sub-interfaces:
100:
description: "Sub-int"
101:
encapsulation:
dot1q: 100
inner-dot1q: 100
exact-match: true
200:
description: "Sub-int"
encapsulation:
dot1ad: 100
exact-match: true
201:
encapsulation:
dot1ad: 100
inner-dot1q: 100
exact-match: true
GigabitEthernet3/0/1:
sub-interfaces:
100:
description: "Sub-int"
200:
description: "Sub-int"
encapsulation:
dot1ad: 100
exact-match: true
201:
encapsulation:
dot1ad: 100
inner-dot1q: 100
HundredGigabitEthernet12/0/0:
sub-interfaces:
100:
description: "Sub-int"
200:
description: "Sub-int"
encapsulation:
dot1ad: 100
exact-match: true
201:
encapsulation:
dot1ad: 100
inner-dot1q: 100
HundredGigabitEthernet12/0/1:
sub-interfaces:
100:
description: "Sub-int"
101:
encapsulation:
dot1q: 100
inner-dot1q: 100
200:
description: "Sub-int"
encapsulation:
dot1ad: 100
exact-match: true

51
vppcfg/intest/hippo3.yaml Normal file
View File

@ -0,0 +1,51 @@
bondethernets:
BondEthernet1:
mac: 02:b0:b0:00:00:02
interfaces: [ GigabitEthernet3/0/0, GigabitEthernet3/0/1 ]
mode: round-robin
interfaces:
GigabitEthernet3/0/0:
mtu: 9000
description: LAG
GigabitEthernet3/0/1:
mtu: 9000
description: LAG
HundredGigabitEthernet12/0/0:
mtu: 2500
HundredGigabitEthernet12/0/1:
description: Not Used
BondEthernet1:
lcp: "bond1"
mtu: 9000
sub-interfaces:
200:
lcp: "bond1.1000"
encapsulation:
dot1q: 1000
exact-match: True
addresses: [ 192.168.0.1/24 ]
201:
mtu: 3000
encapsulation:
dot1ad: 1000
202:
lcp: "bond1.1000.1234"
encapsulation:
dot1q: 1000
inner-dot1q: 1234
exact-match: True
addresses: [ 192.168.1.1/24 ]
203:
mtu: 2500
encapsulation:
dot1ad: 1000
inner-dot1q: 1000
bridgedomains:
bd10:
description: "Bridge Domain 10"
mtu: 2500
interfaces: [ BondEthernet1.203, HundredGigabitEthernet12/0/0 ]

34
vppcfg/intest/hippo4.yaml Normal file
View File

@ -0,0 +1,34 @@
interfaces:
GigabitEthernet3/0/0:
mac: 12:00:ba:03:00:00
mtu: 9216
sub-interfaces:
100:
mtu: 2000
l2xc: HundredGigabitEthernet12/0/1.100
GigabitEthernet3/0/1:
description: Not Used
HundredGigabitEthernet12/0/0:
mtu: 9216
sub-interfaces:
100:
mtu: 3000
101:
mtu: 2000
encapsulation:
dot1q: 100
inner-dot1q: 200
exact-match: True
HundredGigabitEthernet12/0/1:
mtu: 9216
sub-interfaces:
100:
mtu: 2000
l2xc: GigabitEthernet3/0/0.100
bridgedomains:
bd10:
description: "Bridge Domain 10"
mtu: 2000
interfaces: [ HundredGigabitEthernet12/0/0.101 ]

47
vppcfg/intest/hippo5.yaml Normal file
View File

@ -0,0 +1,47 @@
interfaces:
GigabitEthernet3/0/0:
mtu: 9216
sub-interfaces:
100:
mtu: 2000
l2xc: vxlan_tunnel0
101:
mtu: 1500
l2xc: vxlan_tunnel1
GigabitEthernet3/0/1:
lcp: "e3-0-1"
addresses: [ 10.0.0.1/24 ]
HundredGigabitEthernet12/0/0:
mtu: 9216
sub-interfaces:
100:
mtu: 3000
101:
mtu: 2000
encapsulation:
dot1q: 100
inner-dot1q: 200
exact-match: True
HundredGigabitEthernet12/0/1:
mtu: 9216
vxlan_tunnel0:
mtu: 2000
l2xc: GigabitEthernet3/0/0.100
vxlan_tunnel1:
l2xc: GigabitEthernet3/0/0.101
bridgedomains:
bd10:
description: "Bridge Domain 10"
mtu: 2000
interfaces: [ HundredGigabitEthernet12/0/0.101 ]
vxlan_tunnels:
vxlan_tunnel0:
local: 10.0.0.1
remote: 10.0.0.3
vni: 100
vxlan_tunnel1:
local: 192.0.2.1
remote: 192.0.2.2
vni: 101

46
vppcfg/intest/hippo6.yaml Normal file
View File

@ -0,0 +1,46 @@
interfaces:
GigabitEthernet3/0/0:
mtu: 9216
sub-interfaces:
100:
mtu: 2000
l2xc: vxlan_tunnel0
101:
mtu: 3000
GigabitEthernet3/0/1:
lcp: "e3-0-1"
addresses: [ 10.0.0.1/24 ]
HundredGigabitEthernet12/0/0:
mtu: 9216
sub-interfaces:
100:
mtu: 3000
101:
mtu: 3000
encapsulation:
dot1q: 100
inner-dot1q: 200
exact-match: True
HundredGigabitEthernet12/0/1:
mtu: 9216
vxlan_tunnel0:
mtu: 2000
l2xc: GigabitEthernet3/0/0.100
vxlan_tunnel1:
mtu: 3000
bridgedomains:
bd10:
description: "Bridge Domain 10"
mtu: 3000
interfaces: [ HundredGigabitEthernet12/0/0.101, GigabitEthernet3/0/0.101, vxlan_tunnel1 ]
vxlan_tunnels:
vxlan_tunnel0:
local: 10.0.0.1
remote: 10.0.0.3
vni: 100
vxlan_tunnel1:
local: 192.0.2.1
remote: 192.0.2.2
vni: 101

46
vppcfg/intest/hippo7.yaml Normal file
View File

@ -0,0 +1,46 @@
interfaces:
GigabitEthernet3/0/0:
mac: 02:ff:ba:03:00:00
mtu: 9216
sub-interfaces:
100:
mtu: 2000
l2xc: vxlan_tunnel0
101:
mtu: 3000
GigabitEthernet3/0/1:
description: Not Used
HundredGigabitEthernet12/0/0:
mtu: 9216
sub-interfaces:
100:
mtu: 3000
101:
mtu: 3000
encapsulation:
dot1q: 100
inner-dot1q: 200
exact-match: True
HundredGigabitEthernet12/0/1:
mtu: 9216
vxlan_tunnel0:
mtu: 2000
l2xc: GigabitEthernet3/0/0.100
vxlan_tunnel1:
mtu: 3000
bridgedomains:
bd10:
description: "Bridge Domain 10"
mtu: 3000
interfaces: [ HundredGigabitEthernet12/0/0.101, GigabitEthernet3/0/0.101, vxlan_tunnel1 ]
vxlan_tunnels:
vxlan_tunnel0:
local: 10.0.0.1
remote: 10.0.0.3
vni: 100
vxlan_tunnel1:
local: 192.0.2.1
remote: 192.0.2.2
vni: 101

67
vppcfg/intest/hippo8.yaml Normal file
View File

@ -0,0 +1,67 @@
interfaces:
GigabitEthernet3/0/0:
mtu: 9216
sub-interfaces:
100:
mtu: 2000
l2xc: vxlan_tunnel10
101:
mtu: 3000
GigabitEthernet3/0/1:
description: Not Used
HundredGigabitEthernet12/0/0:
mtu: 9216
sub-interfaces:
100:
mtu: 3000
101:
mtu: 3000
encapsulation:
dot1q: 100
inner-dot1q: 200
exact-match: True
HundredGigabitEthernet12/0/1:
mtu: 9216
sub-interfaces:
100:
l2xc: HundredGigabitEthernet12/0/1.101
101:
l2xc: HundredGigabitEthernet12/0/1.100
vxlan_tunnel10:
mtu: 2000
l2xc: GigabitEthernet3/0/0.100
vxlan_tunnel11:
mtu: 3000
sub-interfaces:
100:
mtu: 1500
101:
mtu: 1500
encapsulation:
dot1q: 100
inner-dot1q: 200
exact-match: True
loopbacks:
loop11:
mtu: 3000
mac: de:ad:00:be:ef:11
lcp: "bvi11"
addresses: [ 2001:db8:1::1/64, 192.0.2.1/30 ]
bridgedomains:
bd11:
description: "Bridge Domain 11"
mtu: 3000
interfaces: [ HundredGigabitEthernet12/0/0.101, GigabitEthernet3/0/0.101, vxlan_tunnel11 ]
bvi: loop11
vxlan_tunnels:
vxlan_tunnel10:
local: 10.0.0.1
remote: 10.0.0.3
vni: 100
vxlan_tunnel11:
local: 192.0.2.1
remote: 192.0.2.2
vni: 101

91
vppcfg/intest/hippo9.yaml Normal file
View File

@ -0,0 +1,91 @@
bondethernets:
BondEthernet0:
mac: 02:b0:b0:00:00:00
interfaces: [ GigabitEthernet3/0/0, GigabitEthernet3/0/1 ]
interfaces:
GigabitEthernet3/0/0:
mtu: 9000
description: "LAG #1"
GigabitEthernet3/0/1:
mtu: 9000
description: "LAG #2"
HundredGigabitEthernet12/0/0:
mac: 02:ff:ba:12:00:00
lcp: "ice0"
HundredGigabitEthernet12/0/1:
lcp: "ice1"
mtu: 9000
addresses: [ 192.0.2.17/30, 2001:db8:3::1/64 ]
sub-interfaces:
1234:
mtu: 1500
lcp: "ice1.1234"
encapsulation:
dot1q: 1234
exact-match: True
1235:
mtu: 1400
lcp: "ice1.1234.1000"
encapsulation:
dot1q: 1234
inner-dot1q: 1000
exact-match: True
BondEthernet0:
mtu: 9000
lcp: "be0"
sub-interfaces:
100:
mtu: 2500
l2xc: BondEthernet0.200
encapsulation:
dot1q: 100
exact-match: False
200:
mtu: 2500
l2xc: BondEthernet0.100
encapsulation:
dot1q: 200
exact-match: False
500:
mtu: 2000
encapsulation:
dot1ad: 500
exact-match: False
501:
mtu: 2000
encapsulation:
dot1ad: 501
exact-match: False
vxlan_tunnel1:
mtu: 1500
loopbacks:
loop1:
lcp: "bvi1"
addresses: [ 192.0.2.1/30 ]
loop2:
lcp: "bvi2"
mtu: 2000
addresses: [ 192.0.2.5/30 ]
bridgedomains:
bd1:
mtu: 2000
bvi: loop2
interfaces: [ BondEthernet0.500, BondEthernet0.501 ]
settings:
mac-age-minutes: 10
learn: False
bd11:
mtu: 1500
vxlan_tunnels:
vxlan_tunnel1:
local: 192.0.2.1
remote: 192.0.2.2
vni: 101

49
vppcfg/intest/intest.sh Executable file
View File

@ -0,0 +1,49 @@
#!/bin/sh
## NOTE(pim):
## This integration test, while added to the public repository, is meant as an
## internal validation / regression / integration test suite to be run on Hippo
## and Rhino, two reference installs of VPP in IPng Networks. The config files
## here should not be used although they can be a source of config inspiration :)
## Run me:
# ./intest.sh -strict 2>&1 | tee intest.out
rm -f "intest.exec"
STRICT=0
[ $# -ge 1 -a "$1" = "-strict" ] && STRICT=1
for i in hippo[0-9]*.yaml; do
echo "Clearing: Moving to hippo-empty.yaml"
../vppcfg plan -s ../schema.yaml -c hippo-empty.yaml -o /tmp/vppcfg-exec-empty
[ -s /tmp/vppcfg-exec-empty ] && {
cat /tmp/vppcfg-exec-empty >> intest.exec
vppctl exec /tmp/vppcfg-exec-empty
}
for j in hippo[0-9]*.yaml; do
echo " - Moving to $i .. "
../vppcfg plan -s ../schema.yaml -c $i -o /tmp/vppcfg-exec_$i
[ -s /tmp/vppcfg-exec_$i ] && {
cat /tmp/vppcfg-exec_$i >> intest.exec
vppctl exec /tmp/vppcfg-exec_$i
}
echo " - Moving from $i to $j"
../vppcfg plan -s ../schema.yaml -c $j -o /tmp/vppcfg-exec_${i}_${j}
[ -s /tmp/vppcfg-exec_${i}_${j} ] && {
cat /tmp/vppcfg-exec_${i}_${j} >> intest.exec
vppctl exec /tmp/vppcfg-exec_${i}_${j}
}
echo " - Checking that from $j to $j is empty"
../vppcfg plan -s ../schema.yaml -c $j -o /tmp/vppcfg-exec_${j}_${j}_null
[ -s /tmp/vppcfg-exec_${j}_${j}_null ] && {
echo " - ERROR Transition is not empty"
cat /tmp/vppcfg-exec_${j}_${j}_null
[ $STRICT -ne 0 ] && exit 1
}
done
done
exit 0