Hi Ales, Mark, On 5/19/26 9:39 PM, Mark Michelson wrote: > Thanks Ales, > > Acked-by: Mark Michelson <[email protected]> >
Thanks for the patch and review! > On Wed, May 13, 2026 at 3:04 AM Ales Musil via dev > <[email protected]> wrote: >> >> The macros are shared by two tests so it's good idea to have them >> as common macro instead of duplicating that multiple times. >> >> Signed-off-by: Ales Musil <[email protected]> >> --- >> tests/ovn-macros.at | 32 ++++++++++++++++++++++++ >> tests/ovn.at | 59 ++++----------------------------------------- >> 2 files changed, 37 insertions(+), 54 deletions(-) >> >> diff --git a/tests/ovn-macros.at b/tests/ovn-macros.at >> index 2514014fb..e64952afe 100644 >> --- a/tests/ovn-macros.at >> +++ b/tests/ovn-macros.at >> @@ -1314,6 +1314,38 @@ send_na() { >> check as $hv ovs-appctl netdev-dummy/receive $dev $packet >&2 >> } >> >> +send_udp() { >> + local hv=$1 dev=$2 hdst=$3 hsrc=$4 idst=$5 isrc=$6 >> + local packet=$(fmt_pkt "Ether(dst='${hdst}', src='${hsrc}')/ \ >> + IP(dst='${idst}', src='${isrc}')/UDP()") >> + as $hv ovs-appctl netdev-dummy/receive $dev $packet Nit: missing check >> +} >> + >> +send_udp6() { >> + local hv=$1 dev=$2 hdst=$3 hsrc=$4 idst=$5 isrc=$6 >> + local packet=$(fmt_pkt "Ether(dst='${hdst}', src='${hsrc}')/ \ >> + IPv6(dst='${idst}', src='${isrc}')/UDP()") >> + as $hv ovs-appctl netdev-dummy/receive $dev $packet Nit: missing check >> +} >> + >> +dump_arp() { >> + local op=$1 eth_src=$2 eth_dst=$3 spa=$4 tpa=$5 hwdst=$6 >> + >> + local packet=$(fmt_pkt "Ether(dst='${eth_dst}', src='${eth_src}')/ \ >> + ARP(op=$op, hwsrc='${eth_src}', hwdst='${hwdst}', \ >> + psrc='${spa}', pdst='${tpa}')") >> + echo $packet >> +} >> + >> +dump_ns() { >> + local hdst=$1 hsrc=$2 idst=$3 isrc=$4 tgt=$5 >> + local packet=$(fmt_pkt "Ether(dst='${hdst}', src='${hsrc}')/ \ >> + IPv6(dst='${idst}', src='${isrc}')/ \ >> + ICMPv6ND_NS(tgt='${tgt}')/ \ >> + ICMPv6NDOptSrcLLAddr(lladdr='${hsrc}')") >> + echo $packet >> +} >> + >> # Wrapper on top of ovn-trace, stripping some things and storing the trace >> # output to a file called 'trace'. For now it strips the rows starting >> # with a '#'. This should correspond to the flow key and might be displayed >> diff --git a/tests/ovn.at b/tests/ovn.at >> index fbaa63d99..2914d0e64 100644 >> --- a/tests/ovn.at >> +++ b/tests/ovn.at >> @@ -36730,15 +36730,6 @@ AT_CHECK([ovn-nbctl --wait=hv sync]) >> OVS_WAIT_UNTIL([grep pinctrl hv1/ovn-controller.log | grep -c connected]) >> OVS_WAIT_UNTIL([grep pinctrl hv2/ovn-controller.log | grep -c connected]) >> >> -send_udp() { >> - hv=$1 >> - dev=$2 >> - byte=$3 >> - >> - packet=$(fmt_pkt "Ether(dst='00:00:00:00:10:00', >> src='00:00:00:00:10:${byte}')/ \ >> - IP(dst='192.168.20.${byte}', >> src='192.168.10.${byte}')/UDP()") >> - as $hv ovs-appctl netdev-dummy/receive $dev $packet >> -} >> # Check if the option is not present by default >> AT_CHECK([fetch_column nb:logical_router options name="gw-1" | grep -q >> mac_binding_age_threshold], [1]) >> AT_CHECK([fetch_column nb:logical_router options name="gw-2" | grep -q >> mac_binding_age_threshold], [1]) >> @@ -36772,8 +36763,8 @@ $sorted_table >> timestamp=$(fetch_column mac_binding timestamp ip="192.168.10.20") >> binding_uuid=$(fetch_column mac_binding _uuid ip="192.168.10.20") >> >> -send_udp hv1 ext1 10 >> -send_udp hv2 ext2 20 >> +send_udp hv1 ext1 00:00:00:00:10:00 00:00:00:00:10:10 192.168.20.10 >> 192.168.10.10 >> +send_udp hv2 ext2 00:00:00:00:10:00 00:00:00:00:10:20 192.168.20.20 >> 192.168.10.20 >> >> OVS_WAIT_UNTIL([as hv1 ovs-ofctl dump-flows br-int >> table=OFTABLE_MAC_CACHE_USE | grep "192.168.10.10" | grep -q "n_packets=1"]) >> OVS_WAIT_UNTIL([as hv2 ovs-ofctl dump-flows br-int >> table=OFTABLE_MAC_CACHE_USE | grep "192.168.10.20" | grep -q "n_packets=1"]) >> @@ -36784,9 +36775,9 @@ AT_CHECK([fetch_column nb:logical_router options | >> grep -q mac_binding_age_thres >> AT_CHECK([ovn-nbctl --wait=sb sync]) >> >> # Wait send few packets for "192.168.10.20" to indicate that it is still in >> use >> -send_udp hv2 ext2 20 >> +send_udp hv2 ext2 00:00:00:00:10:00 00:00:00:00:10:20 192.168.20.20 >> 192.168.10.20 >> sleep 1 >> -send_udp hv2 ext2 20 >> +send_udp hv2 ext2 00:00:00:00:10:00 00:00:00:00:10:20 192.168.20.20 >> 192.168.10.20 >> >> # Set the timeout for OVS_WAIT* functions to 10 seconds >> OVS_CTL_TIMEOUT=10 >> @@ -37064,18 +37055,10 @@ sleep 2 >> send_garp hv1 vif1 2 00:00:00:00:10:10 ff:ff:ff:ff:ff:ff 192.168.10.10 >> 192.168.10.10 >> wait_row_count mac_binding 1 ip="192.168.10.10" logical_port="lr-ls1" >> >> -send_udp() { >> - local hv=$1 dev=$2 byte=$3 >> - >> - packet=$(fmt_pkt "Ether(dst='00:00:00:00:10:00', >> src='00:00:00:00:10:${byte}')/ \ >> - IP(dst='192.168.20.${byte}', >> src='192.168.10.${byte}')/UDP()") >> - check as $hv ovs-appctl netdev-dummy/receive $dev $packet >> -} >> - >> uuid=$(fetch_column mac_binding _uuid ip="192.168.10.10" >> logical_port="lr-ls1") >> for i in $(seq 12); do >> # Keep one entry alive by sending traffic that uses it. >> - send_udp hv1 vif1 10 >> + send_udp hv1 vif1 00:00:00:00:10:00 00:00:00:00:10:10 192.168.20.10 >> 192.168.10.10 >> sleep 1 >> # The entry must not expire. >> check_row_count mac_binding 1 ip="192.168.10.10" logical_port="lr-ls1" >> @@ -37158,38 +37141,6 @@ AT_SETUP([MAC binding aging - probing]) >> AT_SKIP_IF([test $HAVE_SCAPY = no]) >> ovn_start >> >> -send_udp() { >> - local hv=$1 dev=$2 hdst=$3 hsrc=$4 idst=$5 isrc=$6 >> - local packet=$(fmt_pkt "Ether(dst='${hdst}', src='${hsrc}')/ \ >> - IP(dst='${idst}', src='${isrc}')/UDP()") >> - as $hv ovs-appctl netdev-dummy/receive $dev $packet >> -} >> - >> -send_udp6() { >> - local hv=$1 dev=$2 hdst=$3 hsrc=$4 idst=$5 isrc=$6 >> - local packet=$(fmt_pkt "Ether(dst='${hdst}', src='${hsrc}')/ \ >> - IPv6(dst='${idst}', src='${isrc}')/UDP()") >> - as $hv ovs-appctl netdev-dummy/receive $dev $packet >> -} >> - >> -dump_arp() { >> - local op=$1 eth_src=$2 eth_dst=$3 spa=$4 tpa=$5 hwdst=$6 >> - >> - local packet=$(fmt_pkt "Ether(dst='${eth_dst}', src='${eth_src}')/ \ >> - ARP(op=$op, hwsrc='${eth_src}', hwdst='${hwdst}', \ >> - psrc='${spa}', pdst='${tpa}')") >> - echo $packet >> -} >> - >> -dump_ns() { >> - local hdst=$1 hsrc=$2 idst=$3 isrc=$4 tgt=$5 >> - local packet=$(fmt_pkt "Ether(dst='${hdst}', src='${hsrc}')/ \ >> - IPv6(dst='${idst}', src='${isrc}')/ \ >> - ICMPv6ND_NS(tgt='${tgt}')/ >> - ICMPv6NDOptSrcLLAddr(lladdr='${hsrc}')") >> - echo $packet >> -} >> - >> aging_th=10 >> net_add n1 >> sim_add hv1 >> -- >> 2.54.0 >> Applied to main and backported to all stable branches down to 24.03. Regards, Dumitru _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
