xref: /openbmc/qemu/tests/rocker/bridge-vlan-stp (revision f2562fbb7ac54d597cfe05f613d30296d1850d1b)
163d2ada2SScott Feldmansimp destroy ".*"
263d2ada2SScott Feldmansimp create -o sw1:rocker:sw1 tut tut.dot
363d2ada2SScott Feldmansimp start tut
463d2ada2SScott Feldmansleep 10
563d2ada2SScott Feldmanwhile ! simp ssh tut sw1 --cmd "ping -c 1 localhost >/dev/null"; do sleep 1; done
663d2ada2SScott Feldmanwhile ! simp ssh tut h1 --cmd "ping -c 1 localhost >/dev/null"; do sleep 1; done
763d2ada2SScott Feldmanwhile ! simp ssh tut h2 --cmd "ping -c 1 localhost >/dev/null"; do sleep 1; done
863d2ada2SScott Feldman
963d2ada2SScott Feldman# configure a 2-port bridge
1063d2ada2SScott Feldman
1163d2ada2SScott Feldmansimp ssh tut sw1 --cmd "sudo /sbin/ip link add name br0 type bridge"
1263d2ada2SScott Feldmansimp ssh tut sw1 --cmd "sudo brctl stp br0 on"
1373da0232SScott Feldmansimp ssh tut sw1 --cmd "sudo /sbin/ip link set dev sw1p1 master br0"
1473da0232SScott Feldmansimp ssh tut sw1 --cmd "sudo /sbin/ip link set dev sw1p2 master br0"
1563d2ada2SScott Feldman
1663d2ada2SScott Feldman# turn off vlan default_pvid on br0
1763d2ada2SScott Feldman# turn on vlan filtering on br0
1863d2ada2SScott Feldman
1963d2ada2SScott Feldmansimp ssh tut sw1 --cmd "echo 0 | sudo dd of=/sys/class/net/br0/bridge/default_pvid 2> /dev/null"
2063d2ada2SScott Feldmansimp ssh tut sw1 --cmd "echo 1 | sudo dd of=/sys/class/net/br0/bridge/vlan_filtering 2> /dev/null"
2163d2ada2SScott Feldman
2263d2ada2SScott Feldman# add both ports to VLAN 57
2363d2ada2SScott Feldman
24*849729bbSScott Feldmansimp ssh tut sw1 --cmd "sudo /sbin/bridge vlan add vid 57 dev sw1p1"
25*849729bbSScott Feldmansimp ssh tut sw1 --cmd "sudo /sbin/bridge vlan add vid 57 dev sw1p2"
2663d2ada2SScott Feldman
2763d2ada2SScott Feldman# turn off learning and flooding in SW
2863d2ada2SScott Feldman
2973da0232SScott Feldmansimp ssh tut sw1 --cmd "sudo /sbin/bridge link set dev sw1p1 learning off"
3073da0232SScott Feldmansimp ssh tut sw1 --cmd "sudo /sbin/bridge link set dev sw1p2 learning off"
3163d2ada2SScott Feldman
3273da0232SScott Feldmansimp ssh tut sw1 --cmd "sudo /sbin/bridge link set dev sw1p1 flood off"
3373da0232SScott Feldmansimp ssh tut sw1 --cmd "sudo /sbin/bridge link set dev sw1p2 flood off"
3463d2ada2SScott Feldman
3563d2ada2SScott Feldman# config IP on host VLANs
3663d2ada2SScott Feldman
3773da0232SScott Feldmansimp ssh tut h1 --cmd "sudo vconfig add sw1p1 57 >/dev/null 2>&1"
3873da0232SScott Feldmansimp ssh tut h1 --cmd "sudo ifconfig sw1p1 up"
3973da0232SScott Feldmansimp ssh tut h1 --cmd "sudo ifconfig sw1p1.57 11.0.0.1/24"
4063d2ada2SScott Feldman
4173da0232SScott Feldmansimp ssh tut h2 --cmd "sudo vconfig add sw1p1 57 >/dev/null 2>&1"
4273da0232SScott Feldmansimp ssh tut h2 --cmd "sudo ifconfig sw1p1 up"
4373da0232SScott Feldmansimp ssh tut h2 --cmd "sudo ifconfig sw1p1.57 11.0.0.2/24"
4463d2ada2SScott Feldman
4563d2ada2SScott Feldman# bring up bridge and ports
4663d2ada2SScott Feldman
4763d2ada2SScott Feldmansimp ssh tut sw1 --cmd "sudo ifconfig br0 up"
4873da0232SScott Feldmansimp ssh tut sw1 --cmd "sudo ifconfig sw1p1 up"
4973da0232SScott Feldmansimp ssh tut sw1 --cmd "sudo ifconfig sw1p2 up"
5063d2ada2SScott Feldman
5163d2ada2SScott Feldman# test...
5263d2ada2SScott Feldman
5363d2ada2SScott Feldmansimp ssh tut h1 --cmd "ping -w 1 -c1 11.0.0.2 >/dev/null"
5463d2ada2SScott Feldmanif [ $? -eq 0 ]; then exit 1; fi
5563d2ada2SScott Feldmansleep 10
5663d2ada2SScott Feldmansimp ssh tut h1 --cmd "ping -c10 11.0.0.2 >/dev/null"
5763d2ada2SScott Feldmansleep 10
5863d2ada2SScott Feldmansimp ssh tut h1 --cmd "ping -c10 11.0.0.2 >/dev/null"
5963d2ada2SScott Feldmansleep 10
6063d2ada2SScott Feldmansimp ssh tut h1 --cmd "ping -c10 11.0.0.2 >/dev/null"
6163d2ada2SScott Feldmansleep 10
6263d2ada2SScott Feldmansimp ssh tut h1 --cmd "ping -c10 11.0.0.2 >/dev/null"
6363d2ada2SScott Feldmansleep 10
6463d2ada2SScott Feldmansimp ssh tut h1 --cmd "ping -c10 11.0.0.2 >/dev/null"
65