diff --git a/hack/make-interfaces.sh b/hack/virtual-network.sh similarity index 52% rename from hack/make-interfaces.sh rename to hack/virtual-network.sh index dfff61c..af180f1 100755 --- a/hack/make-interfaces.sh +++ b/hack/virtual-network.sh @@ -1,15 +1,39 @@ #!/bin/bash -ex -# Create a venv-based virtual network for testing, consisting of: +# Manage a venv-based virtual network for testing, consisting of: # # - venv0: Interface for the DHCP server (static address: 10.0.0.254/24) # - venv1: Interface for DHCP client # - br-dhcp: A bridge for communication between these interfaces +# +# Default behavior is to create the network, the `-d` option removes it. BR=br-dhcp SERVERADDR="10.0.0.254/24" -brctl delbr $BR +# Parse arguments +DELETE=0 +while getopts "d" opt; do + case $opt in + d) + DELETE=1 + ;; + *) + ;; + esac +done + +if [ "$DELETE" != "0" ]; then + for i in {0..1}; do + IFNAME="veth${i}" + ip link del "$IFNAME" || true + done + ip link set "$BR" down + brctl delbr $BR + exit 0 +fi + + brctl addbr $BR for i in {0..1}; do