set bridge br1 datapath-type=dummy other-config:datapath-id=1234 \
fail-mode=secure -- \
set port br1 other_config:rstp-enable=false -- \
- set bridge br1 rstp_enable=true --])
+ set bridge br1 rstp_enable=false -- \
+])
AT_CHECK([ovs-vsctl add-port br0 p1 -- \
set interface p1 type=dummy options:pstream=punix:$OVS_RUNDIR/p0.sock ofport_request=1 -- \
])
AT_CHECK([ovs-vsctl add-port br1 p2 -- \
set interface p2 type=dummy options:stream=unix:$OVS_RUNDIR/p0.sock ofport_request=2 -- \
- set port p2 other_config:rstp-enable=true -- \
+ set port p2 other_config:rstp-enable=false -- \
])
AT_CHECK([ovs-vsctl add-port br1 p8 -- \
set interface p8 ofport_request=8 type=dummy -- \
set port p8 other_config:rstp-enable=false -- \
])
+#
+# RSTP needs link to be in admin-state up, netdev-dummy is by default down
+#
+AT_CHECK([ovs-appctl netdev-dummy/set-admin-state p1 up], [], [dnl
+OK
+])
+
+#
+# Turn RSTP on in br1 after the ports have been added.
+#
+AT_CHECK([ovs-vsctl set bridge br1 rstp_enable=true])
+
ovs-appctl time/stop
AT_CHECK([ovs-ofctl add-flow br0 "in_port=7 icmp actions=1"])
AT_CHECK([ovs-ofctl add-flow br1 "in_port=8 icmp actions=2"])
AT_CHECK([ovs-ofctl add-flow br1 "in_port=2 icmp actions=8"])
+AT_CHECK([ovs-vsctl set port p2 other_config:rstp-enable=true])
+
+OVS_WAIT_UNTIL([test `cat ovs-vswitchd.log | FILTER_STP_TOPOLOGY | wc -l` -ge 2])
AT_CHECK([cat ovs-vswitchd.log | FILTER_STP_TOPOLOGY], [0], [dnl
port p1: RSTP state changed from Disabled to Discarding
port p2: RSTP state changed from Disabled to Discarding
#
# RSTP needs link to be in admin-state up, netdev-dummy is by default down
#
-AT_CHECK([ovs-appctl netdev-dummy/set-admin-state up], [], [dnl
+AT_CHECK([ovs-appctl netdev-dummy/set-admin-state p2 up], [], [dnl
OK
])
+# give time for RSTP to move initially
+
+ovs-appctl time/warp 1000
+ovs-appctl time/warp 1000
+
+OVS_WAIT_UNTIL([test `cat ovs-vswitchd.log | FILTER_STP_TOPOLOGY | wc -l` -ge 4])
AT_CHECK([cat ovs-vswitchd.log | FILTER_STP_TOPOLOGY], [0], [dnl
port p1: RSTP state changed from Disabled to Discarding
port p2: RSTP state changed from Disabled to Discarding
Datapath actions: 2
])
+AT_CHECK([ovs-vsctl del-br br1])
+
+AT_CHECK([ovs-vsctl del-port br0 p7])
+AT_CHECK([ovs-vsctl del-port br0 p1])
+
OVS_VSWITCHD_STOP
AT_CLEANUP