Last active
March 18, 2024 12:11
-
-
Save garyachy/6a4a4dd235f5f149d3d1bac68c2983e8 to your computer and use it in GitHub Desktop.
VPP testing using veth pairs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
PATH=$PATH:./build-root/build-vpp-native/vpp/bin/ | |
if [ $USER != "root" ] ; then | |
echo "Restarting script with sudo..." | |
sudo $0 ${*} | |
exit | |
fi | |
# delete previous incarnations if they exist | |
ip link del dev vpp1 | |
ip link del dev vpp2 | |
ip netns del vpp1 | |
ip netns del vpp2 | |
#create namespaces | |
ip netns add vpp1 | |
ip netns add vpp2 | |
# create and configure 1st veth pair | |
ip link add name veth_vpp1 type veth peer name vpp1 | |
ip link set dev vpp1 up | |
ip link set dev veth_vpp1 up netns vpp1 | |
ip netns exec vpp1 \ | |
bash -c " | |
ip link set dev lo up | |
ip addr add 172.16.1.2/24 dev veth_vpp1 | |
ip route add 172.16.2.0/24 via 172.16.1.1 | |
" | |
# create and configure 2st veth pair | |
ip link add name veth_vpp2 type veth peer name vpp2 | |
ip link set dev vpp2 up | |
ip link set dev veth_vpp2 up netns vpp2 | |
ip netns exec vpp2 \ | |
bash -c " | |
ip link set dev lo up | |
ip addr add 172.16.2.2/24 dev veth_vpp2 | |
ip route add 172.16.1.0/24 via 172.16.2.1 | |
" | |
vppctl create host-interface name vpp1 | |
vppctl create host-interface name vpp2 | |
vppctl set int state host-vpp1 up | |
vppctl set int state host-vpp2 up | |
vppctl set int ip address host-vpp1 172.16.1.1/24 | |
vppctl set int ip address host-vpp2 172.16.2.1/24 | |
vppctl ip route add 172.16.1.0/24 via 172.16.1.1 host-vpp1 | |
vppctl ip route add 172.16.2.0/24 via 172.16.2.1 host-vpp2 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment