github.com/yggdrasil-network/yggdrasil-go@v0.5.6/misc/run-twolink-test (about) 1 #!/bin/bash 2 3 # Connects nodes in two namespaces by two links with different bandwidth (10mbit and 100mbit) 4 5 ip netns add node1 6 ip netns add node2 7 8 ip link add veth11 type veth peer name veth21 9 ip link set veth11 netns node1 up 10 ip link set veth21 netns node2 up 11 12 ip link add veth12 type veth peer name veth22 13 ip link set veth12 netns node1 up 14 ip link set veth22 netns node2 up 15 16 ip netns exec node1 tc qdisc add dev veth11 root tbf rate 10mbit burst 8192 latency 1ms 17 ip netns exec node2 tc qdisc add dev veth21 root tbf rate 10mbit burst 8192 latency 1ms 18 19 ip netns exec node1 tc qdisc add dev veth12 root tbf rate 100mbit burst 8192 latency 1ms 20 ip netns exec node2 tc qdisc add dev veth22 root tbf rate 100mbit burst 8192 latency 1ms 21 22 echo '{AdminListen: "unix://node1.sock"}' | ip netns exec node1 env PPROFLISTEN=localhost:6060 ./yggdrasil -logging "info,warn,error,debug" -useconf &> node1.log & 23 echo '{AdminListen: "unix://node2.sock"}' | ip netns exec node2 env PPROFLISTEN=localhost:6060 ./yggdrasil -logging "info,warn,error,debug" -useconf &> node2.log & 24 25 echo "Started, to continue you should (possibly w/ sudo):" 26 echo "kill" $(jobs -p) 27 wait 28 29 ip netns delete node1 30 ip netns delete node2 31 32 ip link delete veth11 33 ip link delete veth12