- options:requested-chassis for logical port - NAT and Load Balancer flows - 2LSs IGMP and MLD - Dynamic neighbor between LRs - (userspace test) conntrack TCP reset - Dont flood fill local datapaths beyond distributed gateway port - 1 LR with distributed router gateway port
Signed-off-by: Xavier Simonart <[email protected]> --- tests/ovn-northd.at | 2 +- tests/ovn.at | 17 ++++++++++++----- tests/system-ovn.at | 9 +++++++-- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/tests/ovn-northd.at b/tests/ovn-northd.at index d9de4aacb..c252f61a5 100644 --- a/tests/ovn-northd.at +++ b/tests/ovn-northd.at @@ -4566,7 +4566,7 @@ check ovn-nbctl lr-nat-del ro1 check ovn-nbctl lr-nat-del ro2 check ovn-nbctl --add-route lr-nat-add ro1 dnat_and_snat 10.0.0.100 192.168.1.2 vm1 00:00:00:00:00:01 -check ovn-nbctl --add-route lr-nat-add ro2 dnat_and_snat 20.0.0.100 192.168.2.2 vm2 00:00:00:00:00:02 +check ovn-nbctl --wait=sb --add-route lr-nat-add ro2 dnat_and_snat 20.0.0.100 192.168.2.2 vm2 00:00:00:00:00:02 check_lflows 1 diff --git a/tests/ovn.at b/tests/ovn.at index 0c2fe9f97..2d13a1cb2 100644 --- a/tests/ovn.at +++ b/tests/ovn.at @@ -76,6 +76,12 @@ m4_define([OVN_CHECK_PACKETS_REMOVE_BROADCAST], m4_define([OVN_CHECK_PACKETS_CONTAIN], [ovn_wait_packets__ "$1" "$2" "__file__:__line__"]) +# OVN_CHECK_PACKETS_UNIQ succeeds if some expected packets are duplicated. +# It fails if unexpected packets are received. +m4_define([OVN_CHECK_PACKETS_UNIQ], + [ovn_check_packets__ "$1" "$2" "__file__:__line__" + AT_CHECK([sort $rcv_text | uniq], [0], [expout])]) + AT_BANNER([OVN components]) AT_SETUP([lexer]) @@ -11418,7 +11424,7 @@ echo $outside_ip test_arp 3 1 f00000010204 $outside_ip $rtr_ip # Now check the packets actually received against the ones expected. -OVN_CHECK_PACKETS([hv3/vif1-tx.pcap], [hv3-vif1.expected]) +OVN_CHECK_PACKETS_UNIQ([hv3/vif1-tx.pcap], [hv3-vif1.expected]) # Send ip packet between foo1 and outside1 src_mac="f00000010203" @@ -11428,7 +11434,7 @@ dst_ip=`ip_to_hex 172 16 1 3` packet=${dst_mac}${src_mac}08004500001c0000000040110000${src_ip}${dst_ip}0035111100080000 # Now check the packets actually received against the ones expected. -OVN_CHECK_PACKETS([hv3/vif1-tx.pcap], [hv3-vif1.expected]) +OVN_CHECK_PACKETS_UNIQ([hv3/vif1-tx.pcap], [hv3-vif1.expected]) # Now add bridge-mappings on hv2, which should make everything work as hv2 ovs-vsctl set open . external-ids:ovn-bridge-mappings=phys:br-phys @@ -11449,7 +11455,7 @@ exp_gw_ip_garp=ffffffffffff00000201020308060001080006040001000002010203ac1001010 echo $exp_gw_ip_garp >> hv3-vif1.expected # Now check the packets actually received against the ones expected. -OVN_CHECK_PACKETS([hv3/vif1-tx.pcap], [hv3-vif1.expected]) +OVN_CHECK_PACKETS_UNIQ([hv3/vif1-tx.pcap], [hv3-vif1.expected]) # Send ip packet between foo1 and outside1 src_mac="f00000010203" @@ -13838,7 +13844,7 @@ as hv1 ovs-vsctl set interface hv1-vif0 external-ids:iface-id=lsp0 OVS_WAIT_UNTIL([test 1 = $(grep -c "Claiming lport lsp0" hv1/ovn-controller.log)]) -check_column "$hv1_uuid" Port_Binding chassis logical_port=lsp0 +wait_column "$hv1_uuid" Port_Binding chassis logical_port=lsp0 # (4) Chassis hv1 should add flows in OFTABLE_PHY_TO_LOG and OFTABLE_LOG_TO_PHY tables. as hv1 ovs-ofctl dump-flows br-int @@ -25636,7 +25642,6 @@ src_ip=`ip_to_hex 10 0 1 2` dst_ip=`ip_to_hex 10 0 2 2` packet=${dst_mac}${src_mac}08004500001c0000000040110000${src_ip}${dst_ip}0035111100080000 as hv1 ovs-appctl netdev-dummy/receive hv1-vif1 $packet -as hv1 ovs-appctl ofproto/trace br-int in_port=1 $packet # Packet to Expect at p2 src_mac="000000000201" @@ -25646,6 +25651,7 @@ dst_ip=`ip_to_hex 10 0 2 2` echo "${dst_mac}${src_mac}08004500001c000000003e110200${src_ip}${dst_ip}0035111100080000" > expected OVN_CHECK_PACKETS([hv2/vif1-tx.pcap], [expected]) +as hv1 ovs-appctl ofproto/trace br-int in_port=1 $packet # MAC binding entry should have generated AT_CHECK([ovn-sbctl find mac ip=10.0.0.2 mac='"00:00:00:00:03:02"' logical_port=lrp-r1-join | grep 10\.0\.0\.2], [0], [ignore], []) @@ -29553,6 +29559,7 @@ AT_CHECK([as hv2 ovs-ofctl dump-flows br-int table=26 | grep 10.0.1.2], [0], [ig # doesn't remove.) check ovn-nbctl --wait=hv lrp-set-gateway-chassis lrp_lr_ls1 hv1 1 as hv2 check ovn-appctl -t ovn-controller recompute +ovn-nbctl --wait=hv sync AT_CHECK([as hv2 ovs-ofctl dump-flows br-int table=26 | grep 10.0.1.2], [1]) # Enable dnat_and_snat on lr, and now hv2 should see flows for lsp1. diff --git a/tests/system-ovn.at b/tests/system-ovn.at index 5d90be1c9..2de21e9f5 100644 --- a/tests/system-ovn.at +++ b/tests/system-ovn.at @@ -4174,13 +4174,17 @@ start_daemon ovn-controller # - subnet 20.0.0.0/8 # - 2 port (sw2-p1 - sw2-p2) # - IGMP Querier from 20.0.0.254 - ovn-nbctl ls-add sw1 ovn-nbctl ls-add sw2 for i in `seq 1 2` do ADD_NAMESPACES(sw1-p$i) +# Only send 1 membership report as second one might be received after flushing IGMP groups +# causing test to fail + NS_CHECK_EXEC([sw1-p$i], [sysctl -w net.ipv4.igmp_qrv=1], [0], [dnl +net.ipv4.igmp_qrv = 1 +]) ADD_VETH(sw1-p$i, sw1-p$i, br-int, "10.0.0.$i/24", "00:00:00:00:01:0$i", \ "10.0.0.254") ovn-nbctl lsp-add sw1 sw1-p$i \ @@ -4200,6 +4204,7 @@ done ovn-nbctl set Logical_Switch sw1 other_config:mcast_querier="false" ovn-nbctl set Logical_Switch sw1 other_config:mcast_snoop="true" + group_v4="239.0.1.68" # Inject IGMP Join for v4 group on sw1-p1. NS_CHECK_EXEC([sw1-p1], [ip addr add dev sw1-p1 ${group_v4}/32 autojoin], [0]) @@ -5414,7 +5419,7 @@ AT_CHECK([ ct_est_count=$(ovs-appctl dpctl/dump-conntrack | grep 10.0.0.10 | grep state=ESTABLISHED -c) test $ct_est_count -eq 0 - ct_est_count=$(ovs-appctl dpctl/dump-conntrack | grep 10.0.0.10 | grep state=CLOS -c) + ct_est_count=$(ovs-appctl dpctl/dump-conntrack | grep 10.0.0.10 | grep state='CLOS\|TIME_WAIT' -c) test $ct_est_count -eq 1 ]) -- 2.31.1 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
