Created
July 31, 2018 21:22
-
-
Save mathershifter/853de2cdbd2adf4545efdf13f32b0bd7 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Credit to Sudip Regmi <[email protected]> | |
create_ceos() { | |
docker create --name=$1 --privileged \ | |
-e CEOS=1 \ | |
-e container=docker \ | |
-e EOS_PLATFORM=ceoslab \ | |
-e SKIP_ZEROTOUCH_BARRIER_IN_SYSDBINIT=1 \ | |
-e ETBA=1 \ | |
-e INTFTYPE=eth \ | |
-i -t ceoslab \ | |
/sbin/init | |
sudo docker start $1 | |
sudo docker pause $1 | |
} | |
connect_ceos() { | |
echo "Connecting ${1}:${3} to ${2}:${4}" | |
sudo mkdir -p /var/run/netns | |
pid1="$(sudo docker inspect -f '{{.State.Pid}}' ${1})" | |
pid2="$(sudo docker inspect -f '{{.State.Pid}}' ${2})" | |
sudo ln -sf /proc/$pid1/ns/net /var/run/netns/$1 | |
sudo ln -sf /proc/$pid2/ns/net /var/run/netns/$2 | |
sudo ip link add $1-$3 type veth peer name $2-$4 | |
sudo ip link set $1-$3 netns $1 | |
sudo ip link set $2-$4 netns $2 | |
sudo ip netns exec $1 ip link set $1-$3 name $3 | |
sudo ip netns exec $2 ip link set $2-$4 name $4 | |
sudo ip netns exec $1 ip link set $3 up | |
sudo ip netns exec $2 ip link set $4 up | |
} | |
create_ceos ceos1 | |
create_ceos ceos2 | |
for i in $(seq 1 48); do | |
connect_ceos ceos1 ceos2 eth${i} eth${i} | |
done | |
sudo docker unpause ceos1 ceos2 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment