The tests generated 100+ PACKET_IN2. Those might be slow to handle on
very busy system, delaying further PACKET_IN2 by potentially more than
30 seconds, i.e. longer than OVS_WAIT_UNTIL time.
Wait for all PACKET_IN2 to be handled before going further in the test.

Fixes: 987adc9e589e ("controller: Avoid IPv6 Mac_Binding related transaction 
errors.")
Signed-off-by: Xavier Simonart <[email protected]>
---
 tests/ovn.at | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/tests/ovn.at b/tests/ovn.at
index 9cf51534f..4c0f8acf4 100644
--- a/tests/ovn.at
+++ b/tests/ovn.at
@@ -12936,6 +12936,13 @@ test_ip_packet()
         send_na ext1 ext1-vif1 "00:00:00:00:30:$i" "33:33:00:00:00:01" 
"fd10::$i" "ff02::1"
     done
 
+    # On slow systems, processing all those PACKET_IN2 might be slow, and
+    # heavily delay further PACKET_IN2.
+    # So, wait for all (v6) PACKET_IN2 to be handled before going on.
+    for i in $(seq 11 $((n_external_ip + 10))); do
+        wait_row_count MAC_Binding 1 ip="fd10\:\:$i"
+    done
+
     # Send ip packet between foo1 and outside1
     src_mac="f00000010203" # foo1 mac
     dst_mac="000001010203" # foo-R0 mac (internal router leg)
@@ -12960,7 +12967,7 @@ test_ip_packet()
     check as ext1 ovs-appctl netdev-dummy/receive ext1-vif1 $arp_reply
 
     OVS_WAIT_UNTIL([
-        test `as $active_gw ovs-ofctl dump-flows br-int | grep 
table=OFTABLE_MAC_BINDING | \
+        test `as $active_gw ovs-ofctl dump-flows br-int 
table=OFTABLE_MAC_BINDING | \
 grep actions=mod_dl_dst:f0:00:00:01:02:04 | wc -l` -eq 1
     ])
 
-- 
2.47.1

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to