Thanks a bunch Xavier!

Acked-by: Mark Michelson <[email protected]>

On 3/30/22 07:26, Xavier Simonart wrote:
- 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
  ])

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

Reply via email to