Follow symlinks when assembling the templates
This commit is contained in:
1
overlays/frr/common
Symbolic link
1
overlays/frr/common
Symbolic link
@ -0,0 +1 @@
|
||||
../bird/common/
|
1
overlays/frr/host
Symbolic link
1
overlays/frr/host
Symbolic link
@ -0,0 +1 @@
|
||||
../bird/host/
|
79
overlays/frr/ovs-config.sh
Executable file
79
overlays/frr/ovs-config.sh
Executable file
@ -0,0 +1,79 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# OVS configuration for the `frr` overlay
|
||||
|
||||
LAB=${LAB:=0}
|
||||
BR=vpplan
|
||||
for p in $(ovs-vsctl list-ifaces $BR); do
|
||||
ovs-vsctl set port $p vlan_mode=access
|
||||
done
|
||||
|
||||
# Uplink is VLAN 10
|
||||
ovs-vsctl add port vpp${LAB}-0-0 tag 10
|
||||
ovs-vsctl add port uplink tag 10
|
||||
|
||||
# Link vpp${LAB}-0 <-> vpp${LAB}-1 in VLAN 20
|
||||
ovs-vsctl add port vpp${LAB}-0-1 tag 20
|
||||
ovs-vsctl add port vpp${LAB}-1-0 tag 20
|
||||
|
||||
# Link vpp${LAB}-1 <-> vpp${LAB}-2 in VLAN 21
|
||||
ovs-vsctl add port vpp${LAB}-1-1 tag 21
|
||||
ovs-vsctl add port vpp${LAB}-2-0 tag 21
|
||||
|
||||
# Link vpp${LAB}-2 <-> vpp${LAB}-3 in VLAN 22
|
||||
ovs-vsctl add port vpp${LAB}-2-1 tag 22
|
||||
ovs-vsctl add port vpp${LAB}-3-0 tag 22
|
||||
|
||||
## Wire host${LAB}-0-[0123] to e2 of all VPP machines
|
||||
ovs-vsctl set port vpp${LAB}-0-2 tag=30
|
||||
ovs-vsctl set port host${LAB}-0-0 tag=30
|
||||
ovs-vsctl set port vpp${LAB}-1-2 tag=31
|
||||
ovs-vsctl set port host${LAB}-0-1 tag=31
|
||||
ovs-vsctl set port vpp${LAB}-2-2 tag=32
|
||||
ovs-vsctl set port host${LAB}-0-2 tag=32
|
||||
ovs-vsctl set port vpp${LAB}-3-2 tag=33
|
||||
ovs-vsctl set port host${LAB}-0-3 tag=33
|
||||
|
||||
## Wire host${LAB}-1-[0123] to e3 of all VPP machines
|
||||
ovs-vsctl set port vpp${LAB}-0-3 tag=40
|
||||
ovs-vsctl set port host${LAB}-1-0 tag=40
|
||||
ovs-vsctl set port vpp${LAB}-1-3 tag=41
|
||||
ovs-vsctl set port host${LAB}-1-1 tag=41
|
||||
ovs-vsctl set port vpp${LAB}-2-3 tag=42
|
||||
ovs-vsctl set port host${LAB}-1-2 tag=42
|
||||
ovs-vsctl set port vpp${LAB}-3-3 tag=43
|
||||
ovs-vsctl set port host${LAB}-1-3 tag=43
|
||||
|
||||
## Wire tap${LAB}-0-0 as 'rx' tap
|
||||
MIRROR=mirror-rx
|
||||
ovs-vsctl set port tap${LAB}-0-0 vlan_mode=native-tagged
|
||||
[ ovs-vsctl list mirror $MIRROR >/dev/null 2>&1 ] || \
|
||||
ovs-vsctl -- --id=@m get mirror $MIRROR -- remove bridge $BR mirrors @m
|
||||
ovs-vsctl --id=@m create mirror name=$MIRROR \
|
||||
-- --id=@p get port tap${LAB}-0-0 \
|
||||
-- add bridge $BR mirrors @m \
|
||||
-- set mirror $MIRROR output-port=@p \
|
||||
-- set mirror $MIRROR select_dst_port=[] \
|
||||
-- set mirror $MIRROR select_src_port=[]
|
||||
for iface in $(ovs-vsctl list-ports $BR); do
|
||||
[[ $iface == tap* ]] && continue
|
||||
[[ $iface == uplink ]] && continue
|
||||
ovs-vsctl add mirror $MIRROR select_dst_port $(ovs-vsctl get port $iface _uuid)
|
||||
done
|
||||
|
||||
## Wire tap${LAB}-0-1 as 'tx' tap
|
||||
MIRROR=mirror-tx
|
||||
ovs-vsctl set port tap${LAB}-0-1 vlan_mode=native-tagged
|
||||
[ ovs-vsctl list mirror $MIRROR >/dev/null 2>&1 ] || \
|
||||
ovs-vsctl -- --id=@m get mirror $MIRROR -- remove bridge $BR mirrors @m
|
||||
ovs-vsctl --id=@m create mirror name=$MIRROR \
|
||||
-- --id=@p get port tap${LAB}-0-1 \
|
||||
-- add bridge $BR mirrors @m \
|
||||
-- set mirror $MIRROR output-port=@p \
|
||||
-- set mirror $MIRROR select_dst_port=[] \
|
||||
-- set mirror $MIRROR select_src_port=[]
|
||||
for iface in $(ovs-vsctl list-ports $BR); do
|
||||
[[ $iface == tap* ]] && continue
|
||||
[[ $iface == uplink ]] && continue
|
||||
ovs-vsctl add mirror $MIRROR select_src_port $(ovs-vsctl get port $iface _uuid)
|
||||
done
|
1
overlays/frr/tap
Symbolic link
1
overlays/frr/tap
Symbolic link
@ -0,0 +1 @@
|
||||
../bird/tap/
|
15
overlays/frr/vpp/etc/frr/daemons
Normal file
15
overlays/frr/vpp/etc/frr/daemons
Normal file
@ -0,0 +1,15 @@
|
||||
bgpd=yes
|
||||
ospfd=yes
|
||||
ospf6d=yes
|
||||
bfdd=yes
|
||||
ldpd=yes
|
||||
|
||||
vtysh_enable=yes
|
||||
watchfrr_options="--netns=dataplane"
|
||||
zebra_options=" -A 127.0.0.1 -s 67108864 -M dplane_fpm_nl"
|
||||
bgpd_options=" -A 127.0.0.1"
|
||||
ospfd_options=" -A 127.0.0.1"
|
||||
ospf6d_options=" -A ::1"
|
||||
staticd_options="-A 127.0.0.1"
|
||||
bfdd_options=" -A 127.0.0.1"
|
||||
ldpd_options=" -A 127.0.0.1"
|
71
overlays/frr/vpp/etc/frr/frr.conf.j2
Normal file
71
overlays/frr/vpp/etc/frr/frr.conf.j2
Normal file
@ -0,0 +1,71 @@
|
||||
hostname {{ node.hostname }}
|
||||
log syslog informational
|
||||
no ip forwarding
|
||||
no ipv6 forwarding
|
||||
service integrated-vtysh-config
|
||||
{% set loop4 = node.loopback.ipv4.split("/")[0] %}
|
||||
{% set loop6 = node.loopback.ipv6.split("/")[0] %}
|
||||
!
|
||||
ip router-id {{ loop4 }}
|
||||
!
|
||||
interface e0
|
||||
ip ospf area 0
|
||||
ip ospf network point-to-point
|
||||
ipv6 ospf6 area 0
|
||||
ipv6 ospf6 network point-to-point
|
||||
mpls enable
|
||||
exit
|
||||
!
|
||||
interface e1
|
||||
ip ospf area 0
|
||||
ip ospf network point-to-point
|
||||
ipv6 ospf6 area 0
|
||||
ipv6 ospf6 network point-to-point
|
||||
mpls enable
|
||||
exit
|
||||
!
|
||||
interface loop0
|
||||
ip ospf area 0
|
||||
ip ospf passive
|
||||
ipv6 ospf6 area 0
|
||||
ipv6 ospf6 passive
|
||||
exit
|
||||
!
|
||||
router ospf
|
||||
exit
|
||||
!
|
||||
router ospf6
|
||||
exit
|
||||
!
|
||||
mpls ldp
|
||||
router-id {{ loop4 }}
|
||||
dual-stack cisco-interop
|
||||
ordered-control
|
||||
!
|
||||
address-family ipv4
|
||||
discovery transport-address {{ loop4 }}
|
||||
label local advertise explicit-null
|
||||
!
|
||||
interface e0
|
||||
exit
|
||||
!
|
||||
interface e1
|
||||
exit
|
||||
!
|
||||
exit-address-family
|
||||
!
|
||||
address-family ipv6
|
||||
discovery transport-address {{ loop6 }}
|
||||
label local advertise explicit-null
|
||||
ttl-security disable
|
||||
!
|
||||
interface e0
|
||||
exit
|
||||
!
|
||||
interface e1
|
||||
exit
|
||||
!
|
||||
exit-address-family
|
||||
!
|
||||
exit
|
||||
!
|
1
overlays/frr/vpp/etc/vpp
Symbolic link
1
overlays/frr/vpp/etc/vpp
Symbolic link
@ -0,0 +1 @@
|
||||
../../../bird/vpp/etc/vpp/
|
7
overlays/frr/vpp/root/lab-build/disable-bird
Executable file
7
overlays/frr/vpp/root/lab-build/disable-bird
Executable file
@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo " * Disabling Bird"
|
||||
for i in bird-dataplane; do
|
||||
rm -f /etc/systemd/system/multi-user.target.wants/${i}.service
|
||||
ln -sf /dev/null /etc/systemd/system/${i}.service
|
||||
done
|
Reference in New Issue
Block a user