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