Add a simple containerlab
This commit is contained in:
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
clab-*
|
||||
**/*.bak
|
19
config/vpp1/bird-local.conf
Normal file
19
config/vpp1/bird-local.conf
Normal file
@ -0,0 +1,19 @@
|
||||
protocol bfd bfd1 {
|
||||
interface "eth2" { interval 100 ms; multiplier 30; };
|
||||
}
|
||||
|
||||
protocol ospf v2 ospf4 {
|
||||
ipv4 { import all; export all; };
|
||||
area 0 {
|
||||
interface "loop0" { stub yes; };
|
||||
interface "eth2" { type pointopoint; cost 10; bfd on; };
|
||||
};
|
||||
}
|
||||
|
||||
protocol ospf v3 ospf6 {
|
||||
ipv6 { import all; export all; };
|
||||
area 0 {
|
||||
interface "loop0" { stub yes; };
|
||||
interface "eth2" { type pointopoint; cost 10; bfd on; };
|
||||
};
|
||||
}
|
16
config/vpp1/vppcfg.yaml
Normal file
16
config/vpp1/vppcfg.yaml
Normal file
@ -0,0 +1,16 @@
|
||||
interfaces:
|
||||
eth1:
|
||||
description: 'To client1'
|
||||
mtu: 1500
|
||||
lcp: eth1
|
||||
addresses: [ 10.82.98.65/28, 2001:db8:8298:101::1/64 ]
|
||||
eth2:
|
||||
description: 'To vpp2'
|
||||
mtu: 9000
|
||||
lcp: eth2
|
||||
addresses: [ 10.82.98.16/31, 2001:db8:8298:1::1/64 ]
|
||||
loopbacks:
|
||||
loop0:
|
||||
description: 'vpp1'
|
||||
lcp: loop0
|
||||
addresses: [ 10.82.98.0/32, 2001:db8:8298::/128 ]
|
19
config/vpp2/bird-local.conf
Normal file
19
config/vpp2/bird-local.conf
Normal file
@ -0,0 +1,19 @@
|
||||
protocol bfd bfd1 {
|
||||
interface "eth2" { interval 100 ms; multiplier 30; };
|
||||
}
|
||||
|
||||
protocol ospf v2 ospf4 {
|
||||
ipv4 { import all; export all; };
|
||||
area 0 {
|
||||
interface "loop0" { stub yes; };
|
||||
interface "eth2" { type pointopoint; cost 10; bfd on; };
|
||||
};
|
||||
}
|
||||
|
||||
protocol ospf v3 ospf6 {
|
||||
ipv6 { import all; export all; };
|
||||
area 0 {
|
||||
interface "loop0" { stub yes; };
|
||||
interface "eth2" { type pointopoint; cost 10; bfd on; };
|
||||
};
|
||||
}
|
16
config/vpp2/vppcfg.yaml
Normal file
16
config/vpp2/vppcfg.yaml
Normal file
@ -0,0 +1,16 @@
|
||||
interfaces:
|
||||
eth1:
|
||||
description: 'To client2'
|
||||
mtu: 1500
|
||||
lcp: eth1
|
||||
addresses: [ 10.82.98.81/28, 2001:db8:8298:102::1/64 ]
|
||||
eth2:
|
||||
description: 'To vpp1'
|
||||
mtu: 9000
|
||||
lcp: eth2
|
||||
addresses: [ 10.82.98.17/31, 2001:db8:8298:1::2/64 ]
|
||||
loopbacks:
|
||||
loop0:
|
||||
description: 'vpp2'
|
||||
lcp: loop0
|
||||
addresses: [ 10.82.98.1/32, 2001:db8:8298::1/128 ]
|
42
vpp.clab.yml
Normal file
42
vpp.clab.yml
Normal file
@ -0,0 +1,42 @@
|
||||
name: learn-vpp
|
||||
prefix: ""
|
||||
|
||||
topology:
|
||||
kinds:
|
||||
fdio_vpp:
|
||||
image: git.ipng.ch/ipng/vpp-containerlab:latest
|
||||
linux:
|
||||
image: alpine:latest
|
||||
|
||||
nodes:
|
||||
vpp1:
|
||||
kind: fdio_vpp
|
||||
binds:
|
||||
- config/vpp1/vppcfg.yaml:/etc/vpp/vppcfg.yaml:ro
|
||||
- config/vpp1/bird-local.conf:/etc/bird/bird-local.conf:ro
|
||||
vpp2:
|
||||
kind: fdio_vpp
|
||||
binds:
|
||||
- config/vpp2/vppcfg.yaml:/etc/vpp/vppcfg.yaml:ro
|
||||
- config/vpp2/bird-local.conf:/etc/bird/bird-local.conf:ro
|
||||
client1:
|
||||
kind: linux
|
||||
exec:
|
||||
- ip link set address 00:c1:ab:00:00:01 dev eth1
|
||||
- ip addr add 10.82.98.66/28 dev eth1
|
||||
- ip route add 10.82.98.0/24 via 10.82.98.65
|
||||
- ip addr add 2001:db8:8298:101::2/64 dev eth1
|
||||
- ip route add 2001:db8:8298::/48 via 2001:db8:8298:101::1
|
||||
client2:
|
||||
kind: linux
|
||||
exec:
|
||||
- ip link set address 00:c1:ab:00:00:02 dev eth1
|
||||
- ip addr add 10.82.98.82/28 dev eth1
|
||||
- ip route add 10.82.98.0/24 via 10.82.98.81
|
||||
- ip addr add 2001:db8:8298:102::2/64 dev eth1
|
||||
- ip route add 2001:db8:8298::/48 via 2001:db8:8298:102::1
|
||||
|
||||
links:
|
||||
- endpoints: ["vpp1:eth2", "vpp2:eth2"]
|
||||
- endpoints: ["client1:eth1", "vpp1:eth1"]
|
||||
- endpoints: ["client2:eth1", "vpp2:eth1"]
|
Reference in New Issue
Block a user