bridge-stp (1808B)
1simp destroy ".*" 2simp create -o sw1:rocker:sw1 tut tut.dot 3simp start tut 4sleep 10 5while ! simp ssh tut sw1 --cmd "ping -c 1 localhost >/dev/null"; do sleep 1; done 6while ! simp ssh tut h1 --cmd "ping -c 1 localhost >/dev/null"; do sleep 1; done 7while ! simp ssh tut h2 --cmd "ping -c 1 localhost >/dev/null"; do sleep 1; done 8 9# configure a 2-port bridge 10 11simp ssh tut sw1 --cmd "sudo /sbin/ip link add name br0 type bridge" 12simp ssh tut sw1 --cmd "sudo brctl stp br0 on" 13simp ssh tut sw1 --cmd "sudo /sbin/ip link set dev sw1p1 master br0" 14simp ssh tut sw1 --cmd "sudo /sbin/ip link set dev sw1p2 master br0" 15 16# turn off vlan default_pvid on br0 17 18simp ssh tut sw1 --cmd "echo 0 | sudo dd of=/sys/class/net/br0/bridge/default_pvid 2> /dev/null" 19 20# turn off learning and flooding in SW 21 22simp ssh tut sw1 --cmd "sudo /sbin/bridge link set dev sw1p1 learning off" 23simp ssh tut sw1 --cmd "sudo /sbin/bridge link set dev sw1p2 learning off" 24 25simp ssh tut sw1 --cmd "sudo /sbin/bridge link set dev sw1p1 flood off" 26simp ssh tut sw1 --cmd "sudo /sbin/bridge link set dev sw1p2 flood off" 27 28# config IP on hosts 29 30simp ssh tut h1 --cmd "sudo ifconfig sw1p1 11.0.0.1/24" 31simp ssh tut h2 --cmd "sudo ifconfig sw1p1 11.0.0.2/24" 32 33# bring up bridge and ports 34 35simp ssh tut sw1 --cmd "sudo ifconfig br0 up" 36simp ssh tut sw1 --cmd "sudo ifconfig sw1p1 up" 37simp ssh tut sw1 --cmd "sudo ifconfig sw1p2 up" 38 39# test... 40 41simp ssh tut h1 --cmd "ping -w 1 -c1 11.0.0.2 >/dev/null" 42if [ $? -eq 0 ]; then exit 1; fi 43sleep 10 44simp ssh tut h1 --cmd "ping -c10 11.0.0.2 >/dev/null" 45sleep 10 46simp ssh tut h1 --cmd "ping -c10 11.0.0.2 >/dev/null" 47sleep 10 48simp ssh tut h1 --cmd "ping -c10 11.0.0.2 >/dev/null" 49sleep 10 50simp ssh tut h1 --cmd "ping -c10 11.0.0.2 >/dev/null" 51sleep 10 52simp ssh tut h1 --cmd "ping -c10 11.0.0.2 >/dev/null"