2 # path to vpp executable and configurations folder
3 VPP_LITE_BIN=/vpp/build-root/install-vpp_lite_debug-native/vpp/bin/vpp
4 VPP_LITE_CONF=/etc/vpp/lite/
8 # delete previous incarnations if they exist
9 ip netns exec xtr-rtr-ns ifconfig vppbr1 down
10 ip netns exec xtr-rtr-ns brctl delbr vppbr1
11 ip link del dev vpp1 &> /dev/null
12 ip link del dev vpp2 &> /dev/null
13 ip link del dev xtr_rtr1 &> /dev/null
14 ip link del dev xtr_rtr2 &> /dev/null
15 ip link del dev xtr_rtr3 &> /dev/null
16 ip link del dev odl &> /dev/null
18 ip netns del vpp-ns1 &> /dev/null
19 ip netns del vpp-ns2 &> /dev/null
20 ip netns del xtr-rtr-ns &> /dev/null
22 if [ "$1" == "clean" ] ; then
26 if [ ! -e ${VPP_LITE_BIN} ] ; then
27 echo "VPP binary not found: $VPP_LITE_BIN"
33 ip netns add xtr-rtr-ns
35 ip link add veth_xtr_rtr1 type veth peer name xtr_rtr1
36 ip link add veth_xtr_rtr2 type veth peer name xtr_rtr2
37 ip link add veth_xtr_rtr3 type veth peer name xtr_rtr3
38 ip link add veth_odl type veth peer name odl
39 ip link set dev xtr_rtr1 up
40 ip link set dev xtr_rtr2 up
41 ip link set dev xtr_rtr3 up
42 ip link set dev odl up
44 ip link set dev veth_xtr_rtr1 up netns xtr-rtr-ns
45 ip link set dev veth_xtr_rtr2 up netns xtr-rtr-ns
46 ip link set dev veth_xtr_rtr3 up netns xtr-rtr-ns
47 ip link set dev veth_odl up netns xtr-rtr-ns
49 ip netns exec xtr-rtr-ns brctl addbr vppbr1
50 ip netns exec xtr-rtr-ns brctl addif vppbr1 veth_xtr_rtr1
51 ip netns exec xtr-rtr-ns brctl addif vppbr1 veth_xtr_rtr2
52 ip netns exec xtr-rtr-ns brctl addif vppbr1 veth_xtr_rtr3
53 ip netns exec xtr-rtr-ns brctl addif vppbr1 veth_odl
54 ip netns exec xtr-rtr-ns ifconfig vppbr1 up
56 ip link add veth_vpp1 type veth peer name vpp1
57 ip link set dev vpp1 up
58 ip link set dev veth_vpp1 up netns vpp-ns1
60 ip netns exec vpp-ns1 \
63 ip addr add 6.0.2.2/24 dev veth_vpp1
64 ip route add 6.0.4.0/24 via 6.0.2.1
67 ip link add veth_vpp2 type veth peer name vpp2
68 ip link set dev vpp2 up
69 ip link set dev veth_vpp2 up netns vpp-ns2
71 ip netns exec vpp-ns2 \
74 ip addr add 6.0.4.4/24 dev veth_vpp2
75 ip route add 6.0.2.0/24 via 6.0.4.1
78 ifconfig odl 6.0.3.100/24
79 ethtool --offload odl rx off tx off
81 sudo ${VPP_LITE_BIN} \
82 unix { log /tmp/vpp1.log cli-listen \
83 localhost:5002 full-coredump \
84 exec ${VPP_LITE_CONF}/vpp1.config } \
85 api-trace { on } api-segment {prefix xtr1}
87 sudo ${VPP_LITE_BIN} \
88 unix { log /tmp/vpp2.log cli-listen \
89 localhost:5003 full-coredump \
90 exec ${VPP_LITE_CONF}/vpp2.config } \
91 api-trace { on } api-segment {prefix xtr2}
93 sudo ${VPP_LITE_BIN} \
94 unix { log /tmp/rtr.log cli-listen \
95 localhost:5004 full-coredump \
96 exec ${VPP_LITE_CONF}/rtr.config } \
97 api-trace { on } api-segment {prefix rtr}