qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

bridge-vlan-stp (2345B)


      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 # turn on vlan filtering on br0
     18 
     19 simp ssh tut sw1 --cmd "echo 0 | sudo dd of=/sys/class/net/br0/bridge/default_pvid 2> /dev/null"
     20 simp ssh tut sw1 --cmd "echo 1 | sudo dd of=/sys/class/net/br0/bridge/vlan_filtering 2> /dev/null"
     21 
     22 # add both ports to VLAN 57
     23 
     24 simp ssh tut sw1 --cmd "sudo /sbin/bridge vlan add vid 57 dev sw1p1"
     25 simp ssh tut sw1 --cmd "sudo /sbin/bridge vlan add vid 57 dev sw1p2"
     26 
     27 # turn off learning and flooding in SW
     28 
     29 simp ssh tut sw1 --cmd "sudo /sbin/bridge link set dev sw1p1 learning off"
     30 simp ssh tut sw1 --cmd "sudo /sbin/bridge link set dev sw1p2 learning off"
     31 
     32 simp ssh tut sw1 --cmd "sudo /sbin/bridge link set dev sw1p1 flood off"
     33 simp ssh tut sw1 --cmd "sudo /sbin/bridge link set dev sw1p2 flood off"
     34 
     35 # config IP on host VLANs
     36 
     37 simp ssh tut h1 --cmd "sudo vconfig add sw1p1 57 >/dev/null 2>&1"
     38 simp ssh tut h1 --cmd "sudo ifconfig sw1p1 up"
     39 simp ssh tut h1 --cmd "sudo ifconfig sw1p1.57 11.0.0.1/24"
     40 
     41 simp ssh tut h2 --cmd "sudo vconfig add sw1p1 57 >/dev/null 2>&1"
     42 simp ssh tut h2 --cmd "sudo ifconfig sw1p1 up"
     43 simp ssh tut h2 --cmd "sudo ifconfig sw1p1.57 11.0.0.2/24"
     44 
     45 # bring up bridge and ports
     46 
     47 simp ssh tut sw1 --cmd "sudo ifconfig br0 up"
     48 simp ssh tut sw1 --cmd "sudo ifconfig sw1p1 up"
     49 simp ssh tut sw1 --cmd "sudo ifconfig sw1p2 up"
     50 
     51 # test...
     52 
     53 simp ssh tut h1 --cmd "ping -w 1 -c1 11.0.0.2 >/dev/null"
     54 if [ $? -eq 0 ]; then exit 1; fi
     55 sleep 10
     56 simp ssh tut h1 --cmd "ping -c10 11.0.0.2 >/dev/null"
     57 sleep 10
     58 simp ssh tut h1 --cmd "ping -c10 11.0.0.2 >/dev/null"
     59 sleep 10
     60 simp ssh tut h1 --cmd "ping -c10 11.0.0.2 >/dev/null"
     61 sleep 10
     62 simp ssh tut h1 --cmd "ping -c10 11.0.0.2 >/dev/null"
     63 sleep 10
     64 simp ssh tut h1 --cmd "ping -c10 11.0.0.2 >/dev/null"