Toastie 5 years ago
parent
commit
2b183e56b6
1 changed files with 75 additions and 0 deletions
  1. 75 0
      iperf.md

+ 75 - 0
iperf.md

@@ -0,0 +1,75 @@
+```
+# Create bridge directly connected to an interface
+# https://docs.docker.com/network/macvlan/#bridge-mode
+# # Docker requires to run its own DHCP,
+# apparently it is not possible to use an existing DHCP server
+# To find a proper subnet: http://www.davidc.net/sites/default/subnets/subnets.html
+# E.g. 
+# - The existing DHCP server serves 192.168.178.0/24
+#   for the range starting 192.167.167.50 41-46
+
+docker network create -d macvlan -o parent=br0 \
+  --subnet 192.168.178.0/24 \
+  --gateway 192.168.178.1 \
+  --ip-range 192.168.178.40/29 \
+  macvlan
+docker network ls
+
+# IPERF 3
+docker run --rm -d \
+  --network macvlan \
+  --name iperf3-server \
+  --ip 192.168.178.40 \
+  alpine \
+  sh -c \
+     "
+     apk add iperf3 \
+     && ip addr show dev eth0 \
+     && iperf3 -s \
+     "
+
+# IPERF 2
+docker run --rm -d \
+  --network macvlan \
+  --name iperf2-server \
+  --ip 192.168.178.42 \
+  alpine \
+  sh -c \
+     "
+     apk add iperf \
+     && ip addr show dev eth0 \
+     && iperf -s \
+     "
+
+# CLIENT IPERF3
+docker run --rm \
+  --network macvlan \
+  --name iperf3-client \
+  --ip 192.168.178.41 \
+  alpine \
+  sh -c \
+     "
+     apk add iperf3 \
+     && ip addr show dev eth0 \
+     && iperf3 -c 192.168.178.40
+     "
+
+# CLIENT IPERF2
+docker run --rm \
+  --network macvlan \
+  --name iperf3-client \
+  --ip 192.168.178.41 \
+  alpine \
+  sh -c \
+     "
+     apk add iperf \
+     && ip addr show dev eth0 \
+     && iperf -c 192.168.178.42
+     "
+
+
+# Cleanup
+docker kill iperf2-server
+docker kill iperf3-server
+docker network rm macvlan
+```