Tests were waiting for ports to be reported up before sending packets. However, waiting for both ports to be up is not enough to guarantee that all flows are installed for both ports. We now wait for flows outputting to patch port to be installed
Following tests were are fixed: - VLAN transparency, passthru=true, multiple hosts - VLAN transparency, passthru=true, multiple hosts, custom ethtype - VLAN transparency, passthru=true, multiple hosts, flat/untagged Signed-off-by: Xavier Simonart <xsimo...@redhat.com> --- tests/ovn.at | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/tests/ovn.at b/tests/ovn.at index 957eb7850..e65a01ff6 100644 --- a/tests/ovn.at +++ b/tests/ovn.at @@ -3497,6 +3497,18 @@ for i in 1 2; do options:rxq_pcap=vif$i-rx.pcap \ ofport-request=$i OVS_WAIT_UNTIL([test x`ovn-nbctl lsp-get-up lsp$i` = xup]) + + # Patch port might be created after ports are reported up + OVS_WAIT_UNTIL([ + test 1 = `ovs-vsctl show | \ + grep "Port patch-br-int-to-ln-100" | wc -l` + ]) + + # Wait for a flow outputing to patch port + hv_patch_ofport=$(ovs-vsctl --bare --columns ofport find Interface name=patch-br-int-to-ln-100) + OVS_WAIT_UNTIL([ + test 1 = $(ovs-ofctl dump-flows br-int | grep -c "output:$hv_patch_ofport") + ]) done test_packet() { @@ -3562,8 +3574,19 @@ for i in 1 2; do options:rxq_pcap=vif$i-rx.pcap \ ofport-request=$i wait_for_ports_up lsp$i -done + # Patch port might be created after ports are reported up + OVS_WAIT_UNTIL([ + test 1 = `ovs-vsctl show | \ + grep "Port patch-br-int-to-ln-100" | wc -l` + ]) + + # Wait for a flow outputing to patch port + hv_patch_ofport=$(ovs-vsctl --bare --columns ofport find Interface name=patch-br-int-to-ln-100) + OVS_WAIT_UNTIL([ + test 1 = $(ovs-ofctl dump-flows br-int | grep -c "output:$hv_patch_ofport") + ]) +done # create taps on fabric to check vlan encapsulation there for i in 1 2; do as hv-$i @@ -3645,6 +3668,18 @@ for i in 1 2; do options:rxq_pcap=vif$i-rx.pcap \ ofport-request=$i OVS_WAIT_UNTIL([test x`ovn-nbctl lsp-get-up lsp$i` = xup]) + + # Patch port might be created after ports are reported up + OVS_WAIT_UNTIL([ + test 1 = `ovs-vsctl show | \ + grep "Port patch-br-int-to-ln" | wc -l` + ]) + + # Wait for a flow outputing to patch port + hv_patch_ofport=$(ovs-vsctl --bare --columns ofport find Interface name=patch-br-int-to-ln) + OVS_WAIT_UNTIL([ + test 1 = $(ovs-ofctl dump-flows br-int | grep -c "output:$hv_patch_ofport") + ]) done for i in 1 2; do -- 2.31.1 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev