#!/usr/bin/env bash STARTUP_CONFIG=${STARTUP_CONFIG:="/etc/vpp/startup.conf"} CLAB_VPP_FILE=${CLAB_VPP_FILE:=/etc/vpp/clab.vpp} NETNS=${NETNS:="dataplane"} echo "Creating dataplane namespace" /usr/bin/mkdir -p /etc/netns/$NETNS /usr/bin/touch /etc/netns/$NETNS/resolv.conf /usr/sbin/ip netns add $NETNS echo "Generating $CLAB_VPP_FILE" : > $CLAB_VPP_FILE MTU=9216 for IFNAME in $(ip -br link show type veth | cut -f1 -d@ | grep -v ^eth0$); do MAC=$(ip -br link show dev $IFNAME | awk '{ print $3 }') echo " * $IFNAME hw-addr $MAC mtu $MTU" ip link set $IFNAME up mtu $MTU cat << EOF >> $CLAB_VPP_FILE create host-interface name $IFNAME hw-addr $MAC set interface name host-$IFNAME $IFNAME set interface mtu $MTU $IFNAME set interface state $IFNAME up EOF done echo "Starting VPP" exec /usr/bin/vpp -c $STARTUP_CONFIG