#!/bin/sh set -x buildveths() { ip link add ve0 type veth peer name vep0 ip link add ve1 type veth peer name vep1 ip link add ve2 type veth peer name vep2 ip link add ve3 type veth peer name vep3 ip link add ve4 type veth peer name vep4 ip link add ve5 type veth peer name vep5 ip link add ve6 type veth peer name vep6 ip link add ve7 type veth peer name vep7 ip link add ve8 type veth peer name vep8 ip link add ve9 type veth peer name vep9 ip link add veA type veth peer name vepA ip link add veB type veth peer name vepB ip link add veC type veth peer name vepC ip link add veD type veth peer name vepD ip link add veE type veth peer name vepE ip link add veF type veth peer name vepF ip netns add vep0; ip link set vep0 netns vep0 ip netns add vep1; ip link set vep1 netns vep1 ip netns add vep2; ip link set vep2 netns vep2 ip netns add vep3; ip link set vep3 netns vep3 ip netns add vep4; ip link set vep4 netns vep4 ip netns add vep5; ip link set vep5 netns vep5 ip netns add vep6; ip link set vep6 netns vep6 ip netns add vep7; ip link set vep7 netns vep7 ip netns add vep8; ip link set vep8 netns vep8 ip netns add vep9; ip link set vep9 netns vep9 ip netns add vepA; ip link set vepA netns vepA ip netns add vepB; ip link set vepB netns vepB ip netns add vepC; ip link set vepC netns vepC ip netns add vepD; ip link set vepD netns vepD ip netns add vepE; ip link set vepE netns vepE ip netns add vepF; ip link set vepF netns vepF } buildveths iface=$(ip route | awk '/^default/{ if ($4 == "dev") print($5); }') iface=${iface:-wlan0} num=$(ip addr show $iface | sed -n '/\s\+inet 192/ s/\s\+inet 192\.168\.[0-9]*\.\([0-9]*\).*$/\1/ p') num=${num:-88} ip addr add 60.$num.99.98/31 dev ve0 ip addr add 61.$num.99.98/31 dev ve1 ip addr add 62.$num.99.98/31 dev ve2 ip addr add 63.$num.99.98/31 dev ve3 ip addr add 64.$num.99.98/31 dev ve4 ip addr add 65.$num.99.98/31 dev ve5 ip addr add 66.$num.99.98/31 dev ve6 ip addr add 67.$num.99.98/31 dev ve7 ip addr add 68.$num.99.98/31 dev ve8 ip addr add 69.$num.99.98/31 dev ve9 ip addr add 70.$num.99.98/31 dev veA ip addr add 71.$num.99.98/31 dev veB ip addr add 72.$num.99.98/31 dev veC ip addr add 73.$num.99.98/31 dev veD ip addr add 74.$num.99.98/31 dev veE ip addr add 75.$num.99.98/31 dev veF ip link set up dev ve0 ip link set up dev ve1 ip link set up dev ve2 ip link set up dev ve3 ip link set up dev ve4 ip link set up dev ve5 ip link set up dev ve6 ip link set up dev ve7 ip link set up dev ve8 ip link set up dev ve9 ip link set up dev veA ip link set up dev veB ip link set up dev veC ip link set up dev veD ip link set up dev veE ip link set up dev veF nsenter --net=/var/run/netns/vep0 ip addr add 60.$num.99.99/31 dev vep0 nsenter --net=/var/run/netns/vep1 ip addr add 61.$num.99.99/31 dev vep1 nsenter --net=/var/run/netns/vep2 ip addr add 62.$num.99.99/31 dev vep2 nsenter --net=/var/run/netns/vep3 ip addr add 63.$num.99.99/31 dev vep3 nsenter --net=/var/run/netns/vep4 ip addr add 64.$num.99.99/31 dev vep4 nsenter --net=/var/run/netns/vep5 ip addr add 65.$num.99.99/31 dev vep5 nsenter --net=/var/run/netns/vep6 ip addr add 66.$num.99.99/31 dev vep6 nsenter --net=/var/run/netns/vep7 ip addr add 67.$num.99.99/31 dev vep7 nsenter --net=/var/run/netns/vep8 ip addr add 68.$num.99.99/31 dev vep8 nsenter --net=/var/run/netns/vep9 ip addr add 69.$num.99.99/31 dev vep9 nsenter --net=/var/run/netns/vepA ip addr add 70.$num.99.99/31 dev vepA nsenter --net=/var/run/netns/vepB ip addr add 71.$num.99.99/31 dev vepB nsenter --net=/var/run/netns/vepC ip addr add 72.$num.99.99/31 dev vepC nsenter --net=/var/run/netns/vepD ip addr add 73.$num.99.99/31 dev vepD nsenter --net=/var/run/netns/vepE ip addr add 74.$num.99.99/31 dev vepE nsenter --net=/var/run/netns/vepF ip addr add 75.$num.99.99/31 dev vepF nsenter --net=/var/run/netns/vep0 ip link set up dev vep0 nsenter --net=/var/run/netns/vep1 ip link set up dev vep1 nsenter --net=/var/run/netns/vep2 ip link set up dev vep2 nsenter --net=/var/run/netns/vep3 ip link set up dev vep3 nsenter --net=/var/run/netns/vep4 ip link set up dev vep4 nsenter --net=/var/run/netns/vep5 ip link set up dev vep5 nsenter --net=/var/run/netns/vep6 ip link set up dev vep6 nsenter --net=/var/run/netns/vep7 ip link set up dev vep7 nsenter --net=/var/run/netns/vep8 ip link set up dev vep8 nsenter --net=/var/run/netns/vep9 ip link set up dev vep9 nsenter --net=/var/run/netns/vepA ip link set up dev vepA nsenter --net=/var/run/netns/vepB ip link set up dev vepB nsenter --net=/var/run/netns/vepC ip link set up dev vepC nsenter --net=/var/run/netns/vepD ip link set up dev vepD nsenter --net=/var/run/netns/vepE ip link set up dev vepE nsenter --net=/var/run/netns/vepF ip link set up dev vepF nsenter --net=/var/run/netns/vep0 ip route add default via 60.$num.99.98 nsenter --net=/var/run/netns/vep1 ip route add default via 61.$num.99.98 nsenter --net=/var/run/netns/vep2 ip route add default via 62.$num.99.98 nsenter --net=/var/run/netns/vep3 ip route add default via 63.$num.99.98 nsenter --net=/var/run/netns/vep4 ip route add default via 64.$num.99.98 nsenter --net=/var/run/netns/vep5 ip route add default via 65.$num.99.98 nsenter --net=/var/run/netns/vep6 ip route add default via 66.$num.99.98 nsenter --net=/var/run/netns/vep7 ip route add default via 67.$num.99.98 nsenter --net=/var/run/netns/vep8 ip route add default via 68.$num.99.98 nsenter --net=/var/run/netns/vep9 ip route add default via 69.$num.99.98 nsenter --net=/var/run/netns/vepA ip route add default via 70.$num.99.98 nsenter --net=/var/run/netns/vepB ip route add default via 71.$num.99.98 nsenter --net=/var/run/netns/vepC ip route add default via 72.$num.99.98 nsenter --net=/var/run/netns/vepD ip route add default via 73.$num.99.98 nsenter --net=/var/run/netns/vepE ip route add default via 74.$num.99.98 nsenter --net=/var/run/netns/vepF ip route add default via 75.$num.99.98 nsenter --net=/var/run/netns/vep0 ip addr add 127.0.0.1/8 dev lo nsenter --net=/var/run/netns/vep1 ip addr add 127.0.0.1/8 dev lo nsenter --net=/var/run/netns/vep2 ip addr add 127.0.0.1/8 dev lo nsenter --net=/var/run/netns/vep3 ip addr add 127.0.0.1/8 dev lo nsenter --net=/var/run/netns/vep4 ip addr add 127.0.0.1/8 dev lo nsenter --net=/var/run/netns/vep5 ip addr add 127.0.0.1/8 dev lo nsenter --net=/var/run/netns/vep6 ip addr add 127.0.0.1/8 dev lo nsenter --net=/var/run/netns/vep7 ip addr add 127.0.0.1/8 dev lo nsenter --net=/var/run/netns/vep8 ip addr add 127.0.0.1/8 dev lo nsenter --net=/var/run/netns/vep9 ip addr add 127.0.0.1/8 dev lo nsenter --net=/var/run/netns/vepA ip addr add 127.0.0.1/8 dev lo nsenter --net=/var/run/netns/vepB ip addr add 127.0.0.1/8 dev lo nsenter --net=/var/run/netns/vepC ip addr add 127.0.0.1/8 dev lo nsenter --net=/var/run/netns/vepD ip addr add 127.0.0.1/8 dev lo nsenter --net=/var/run/netns/vepE ip addr add 127.0.0.1/8 dev lo nsenter --net=/var/run/netns/vepF ip addr add 127.0.0.1/8 dev lo nsenter --net=/var/run/netns/vep0 ip addr add ::1/128 dev lo nsenter --net=/var/run/netns/vep1 ip addr add ::1/128 dev lo nsenter --net=/var/run/netns/vep2 ip addr add ::1/128 dev lo nsenter --net=/var/run/netns/vep3 ip addr add ::1/128 dev lo nsenter --net=/var/run/netns/vep4 ip addr add ::1/128 dev lo nsenter --net=/var/run/netns/vep5 ip addr add ::1/128 dev lo nsenter --net=/var/run/netns/vep6 ip addr add ::1/128 dev lo nsenter --net=/var/run/netns/vep7 ip addr add ::1/128 dev lo nsenter --net=/var/run/netns/vep8 ip addr add ::1/128 dev lo nsenter --net=/var/run/netns/vep9 ip addr add ::1/128 dev lo nsenter --net=/var/run/netns/vepA ip addr add ::1/128 dev lo nsenter --net=/var/run/netns/vepB ip addr add ::1/128 dev lo nsenter --net=/var/run/netns/vepC ip addr add ::1/128 dev lo nsenter --net=/var/run/netns/vepD ip addr add ::1/128 dev lo nsenter --net=/var/run/netns/vepE ip addr add ::1/128 dev lo nsenter --net=/var/run/netns/vepF ip addr add ::1/128 dev lo nsenter --net=/var/run/netns/vep0 ip link set up dev lo nsenter --net=/var/run/netns/vep1 ip link set up dev lo nsenter --net=/var/run/netns/vep2 ip link set up dev lo nsenter --net=/var/run/netns/vep3 ip link set up dev lo nsenter --net=/var/run/netns/vep4 ip link set up dev lo nsenter --net=/var/run/netns/vep5 ip link set up dev lo nsenter --net=/var/run/netns/vep6 ip link set up dev lo nsenter --net=/var/run/netns/vep7 ip link set up dev lo nsenter --net=/var/run/netns/vep8 ip link set up dev lo nsenter --net=/var/run/netns/vep9 ip link set up dev lo nsenter --net=/var/run/netns/vepA ip link set up dev lo nsenter --net=/var/run/netns/vepB ip link set up dev lo nsenter --net=/var/run/netns/vepC ip link set up dev lo nsenter --net=/var/run/netns/vepD ip link set up dev lo nsenter --net=/var/run/netns/vepE ip link set up dev lo nsenter --net=/var/run/netns/vepF ip link set up dev lo