AT_CHECK([ovstest test-rstp test-rstp-ieee802.1d-2004-fig17.7], [0], [])
AT_CLEANUP
-# Strips out uninteresting parts of flow output, as well as parts
-# that vary from one run to another (e.g., timing and bond actions).
-m4_define([STRIP_USED], [[sed '
- s/used:[0-9]*\.[0-9]*/used:0.0/
- s/duration=[0-9.]*s*/duration=Xs/
- s/idle_age=[0-9]*,/idle_age=X,/
-']])
m4_define([FILTER_STP_TOPOLOGY], [[
grep 'STP state changed' | sed '
s/.*ofproto_dpif|.*|//
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
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