@@ -37035,8 +37035,8 @@ OVS_WAIT_UNTIL([test $(ovs-ofctl dump-flows br-int table=OFTABLE_MAC_CACHE_USE |
3703537035send_udp hv1 vif1 00:00:00:00:10:00 00:00:00:00:10:2a 192.168.20.100 192.168.10.100
3703637036send_udp hv1 vif2 00:00:00:00:20:00 00:00:00:00:10:2b 192.168.10.100 192.168.20.100
3703737037# Wait for ARP requests to be generated.
37038- dump_arp 1 00:00:00:00:20:00 ff:ff:ff:ff:ff:ff 192.168.20.1 192.168.20.100 00:00:00:00:00:00 > expected1
37039- dump_arp 1 00:00:00:00:10:00 ff:ff:ff:ff:ff:ff 192.168.10.1 192.168.10.100 00:00:00:00:00:00 > expected2
37038+ dump_arp 1 00:00:00:00:20:00 00:00:00:00:10:1b 192.168.20.1 192.168.20.100 00:00:00:00:10:1b > expected1
37039+ dump_arp 1 00:00:00:00:10:00 00:00:00:00:10:1a 192.168.10.1 192.168.10.100 00:00:00:00:10:1a > expected2
3704037040OVN_CHECK_PACKETS_CONTAIN([hv1/vif1-tx.pcap], [expected2])
3704137041
3704237042# Check MAC_Binding timestamp is updated receiving the ARP replay.
@@ -37045,8 +37045,8 @@ send_garp hv1 vif2 2 00:00:00:00:10:1b 00:00:00:00:20:00 192.168.20.100 192.168.
3704537045OVS_WAIT_UNTIL([test $(fetch_column Mac_Binding timestamp ip=192.168.10.100) -gt $ts0])
3704637046
3704737047# Refresh OFTABLE_MAC_BINDING entires.
37048- dump_arp 1 00:00:00:00:20:00 ff:ff:ff:ff:ff:ff 192.168.20.1 192.168.20.100 00:00:00:00:00:00 >> expected1
37049- dump_arp 1 00:00:00:00:10:00 ff:ff:ff:ff:ff:ff 192.168.10.1 192.168.10.100 00:00:00:00:00:00 >> expected2
37048+ dump_arp 1 00:00:00:00:20:00 00:00:00:00:10:1b 192.168.20.1 192.168.20.100 00:00:00:00:10:1b >> expected1
37049+ dump_arp 1 00:00:00:00:10:00 00:00:00:00:10:1a 192.168.10.1 192.168.10.100 00:00:00:00:10:1a >> expected2
3705037050OVS_WAIT_UNTIL([test $(ovs-ofctl dump-flows br-int table=OFTABLE_MAC_CACHE_USE | \
3705137051 awk '/arp_spa=192.168.20.100/{print substr($6,10,1)}') -ge $((aging_th/2))])
3705237052send_udp hv1 vif1 00:00:00:00:10:00 00:00:00:00:10:2a 192.168.20.100 192.168.10.100
@@ -37073,8 +37073,8 @@ OVS_WAIT_UNTIL([test $(ovs-ofctl dump-flows br-int table=OFTABLE_MAC_CACHE_USE |
3707337073send_udp6 hv1 vif1 00:00:00:00:10:00 00:00:00:00:10:2a fd12::64 fd11::64
3707437074send_udp6 hv1 vif2 00:00:00:00:20:00 00:00:00:00:10:2b fd11::64 fd12::64
3707537075
37076- dump_ns 33:33:ff: 00:00:64 00:00:00:00:10:00 ff02::1:ff00 :64 fd11::1 fd11::64 > expected2
37077- dump_ns 33:33:ff: 00:00:64 00:00:00:00:10:00 ff02::1:ff00 :64 fd11::1 fd11::64 >> expected2
37076+ dump_ns 00:00: 00:00:10:1a 00:00:00:00:10:00 fd11: :64 fd11::1 fd11::64 > expected2
37077+ dump_ns 00:00: 00:00:10:1a 00:00:00:00:10:00 fd11: :64 fd11::1 fd11::64 >> expected2
3707837078OVN_CHECK_PACKETS_CONTAIN([hv1/vif1-tx.pcap], [expected2])
3707937079
3708037080send_na hv1 vif1 00:00:00:00:10:1a 00:00:00:00:10:00 fd11::64 fd11::1
@@ -37175,16 +37175,16 @@ send_udp6 hv1 vif1 00:00:00:00:10:00 00:00:00:00:10:2b fd11::64 fd12::64
3717537175
3717637176# Verify ARP probes use the correct source IPs from matching subnets.
3717737177# ARP for 10.10.10.100 must use source IP 10.10.10.1 (first subnet).
37178- dump_arp 1 00:00:00:00:10:00 ff:ff:ff:ff:ff:ff 10.10.10.1 10.10.10.100 00:00:00:00:00:00 > expected
37178+ dump_arp 1 00:00:00:00:10:00 00:00:00:00:10:1a 10.10.10.1 10.10.10.100 00:00:00:00:10:1a > expected
3717937179# ARP for 42.42.42.253 must use source IP 42.42.42.1 (second subnet).
37180- dump_arp 1 00:00:00:00:10:00 ff:ff:ff:ff:ff:ff 42.42.42.1 42.42.42.253 00:00:00:00:00:00 >> expected
37180+ dump_arp 1 00:00:00:00:10:00 00:00:00:00:10:1b 42.42.42.1 42.42.42.253 00:00:00:00:10:1b >> expected
3718137181OVN_CHECK_PACKETS_CONTAIN([hv1/vif1-tx.pcap], [expected])
3718237182
3718337183# Verify NS probes use the correct source IPs from matching subnets.
3718437184# NS for fd11::64 must use source IP fd11::1 (first IPv6 subnet).
37185- dump_ns 33:33:ff: 00:00:64 00:00:00:00:10:00 ff02::1:ff00 :64 fd11::1 fd11::64 > expected_v6
37185+ dump_ns 00:00: 00:00:10:1a 00:00:00:00:10:00 fd11: :64 fd11::1 fd11::64 > expected_v6
3718637186# NS for fd12::64 must use source IP fd12::1 (second IPv6 subnet).
37187- dump_ns 33:33:ff: 00:00:64 00:00:00:00:10:00 ff02::1:ff00 :64 fd12::1 fd12::64 >> expected_v6
37187+ dump_ns 00:00: 00:00:10:1b 00:00:00:00:10:00 fd12: :64 fd12::1 fd12::64 >> expected_v6
3718837188OVN_CHECK_PACKETS_CONTAIN([hv1/vif1-tx.pcap], [expected_v6])
3718937189
3719037190# Send ARP/NA replies and check MAC_Binding UUIDs remain consistent.
@@ -37261,8 +37261,8 @@ wait_row_count mac_binding 0 ip="$ext_ip" logical_port="lr-ls"
3726137261
3726237262# hv1 should have sent out arps for mac binding refresh
3726337263arp_req=$(fmt_pkt \
37264- "Ether(dst='ff:ff:ff:ff:ff:ff ', src='$lrp_mac')/ \
37265- ARP(hwsrc='$lrp_mac', hwdst='00:00:00:00:00:00 ', psrc='$lrp_ip', pdst='$ext_ip')")
37264+ "Ether(dst='$ext_mac ', src='$lrp_mac')/ \
37265+ ARP(hwsrc='$lrp_mac', hwdst='$ext_mac ', psrc='$lrp_ip', pdst='$ext_ip')")
3726637266echo $arp_req >> hv1_snoopvif.expected
3726737267OVN_CHECK_PACKETS_CONTAIN([hv1/snoopvif-tx.pcap], [hv1_snoopvif.expected])
3726837268
@@ -37372,7 +37372,8 @@ send_imcp_echo_req hv1 public 00:00:00:00:10:00 00:00:00:00:10:1a 192.168.20.2 1
3737237372OVS_WAIT_UNTIL([test $(grep -c "Sending ARP/ND.*ip: 192.168.20.2" hv1/ovn-controller.log) -eq 2])
3737337373
3737437374check ovn-nbctl --wait=hv acl-del join
37375- wait_row_count mac_binding 0
37375+ wait_row_count mac_binding 0 ip="192.168.10.100" logical_port="gw-public"
37376+ wait_row_count mac_binding 0 ip="192.168.20.2" logical_port="gw-join"
3737637377
3737737378send_icmp6_echo_req hv1 public 00:00:00:00:10:00 00:00:00:00:50:01 fd12::2 fd11::64
3737837379wait_row_count mac_binding 1 mac=\"00:00:00:00:30:00\" ip=\"fd12::2\"
@@ -37389,7 +37390,7 @@ sleep $((aging_th / 2))
3738937390send_icmp6_echo_req hv1 public 00:00:00:00:10:00 00:00:00:00:50:01 fd12::2 fd11::64
3739037391OVS_WAIT_UNTIL([test $(grep -c "Sending ARP/ND.*ip: fd12::2" hv1/ovn-controller.log) -eq 2])
3739137392
37392- wait_row_count mac_binding 0
37393+ wait_row_count mac_binding 0 ip=\"fd12::2\" logical_port="gw-join"
3739337394
3739437395OVN_CLEANUP([hv1])
3739537396AT_CLEANUP
0 commit comments