``` # 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 ```