#!/bin/bash set -e function create_veth() { ip link add veth$1 type veth peer name veth$1-ptf$1 ip link set veth$1 up ip link set veth$1-ptf$1 up } function delete_veth() { for i in $(seq 0 $(( $1 - 1 ))) do ip link delete veth$i echo "Deleted veth interface: veth$i" done } if [[ "$1" == "create" ]]; then if [ "$2" == "msgpack" ]; then ip link add veth-msgpack-tx type veth peer name veth-msgpack-rx ip link set veth-msgpack-rx up ip link set veth-msgpack-tx up elif [ -z "$2" ]; then echo "Usage: $0 create " exit 1 fi for i in $(seq 0 $(( $2 - 1 ))) do create_veth "$i" echo "Created veth interface: veth$i" done elif [[ "$1" == "delete" ]]; then if [ "$2" == "msgpack" ]; then ip link delete veth-msgpack-tx echo "Deleted veth interface: veth-msgpack-tx" elif [ -z "$2" ]; then echo "Usage: $0 delete " exit 1 fi delete_veth "$2" else echo "Usage: $0 " exit 1 fi