Thanks Ales and Lorenzo,

I pushed this to main and branch-26.03.

On Fri, May 29, 2026 at 8:26 AM Ales Musil via dev
<[email protected]> wrote:
>
> The "SB Disconnect - MAC_Binding buffer limit" test validates
> an internal implementation detail by checking the
> pinctrl_drop_buffered_packets_map coverage counter.  This
> counter depends on the buffered packets map reaching its
> limit before any entries are expired, which is sensitive to
> the threading model of the expiry code.
>
> The lockless packet buffering change moved entry expiry to
> the handler thread, which runs regardless of SB connection
> state, making the test unreliable.
>
> Remove the test as adapting it to the new behavior would be
> pretty hard.
>
> Fixes: 38cdf5862c82 ("controller: Make the packet buffering lockless.")
> Assisted-by: Claude Opus 4.6, OpenCode
> Signed-off-by: Ales Musil <[email protected]>
> ---
>  tests/system-ovn.at | 93 ---------------------------------------------
>  1 file changed, 93 deletions(-)
>
> diff --git a/tests/system-ovn.at b/tests/system-ovn.at
> index 649e85ec1..968a22f51 100644
> --- a/tests/system-ovn.at
> +++ b/tests/system-ovn.at
> @@ -13843,99 +13843,6 @@ OVS_TRAFFIC_VSWITCHD_STOP(["/.*error receiving.*/d
>  AT_CLEANUP
>  ])
>
> -OVN_FOR_EACH_NORTHD([
> -AT_SETUP([SB Disconnect - MAC_Binding buffer limit])
> -ovn_start
> -OVS_TRAFFIC_VSWITCHD_START()
> -
> -ADD_BR([br-int])
> -ADD_BR([br-ext])
> -
> -SB_PATH="unix:$ovs_base/ovn-sb/ovn-sb.sock"
> -ovs-ofctl add-flow br-ext action=normal
> -# Set external-ids in br-int needed for ovn-controller
> -ovs-vsctl \
> -        -- set Open_vSwitch . external-ids:system-id=hv1 \
> -        -- set Open_vSwitch . external-ids:ovn-remote=$SB_PATH \
> -        -- set Open_vSwitch . external-ids:ovn-encap-type=geneve \
> -        -- set Open_vSwitch . external-ids:ovn-encap-ip=169.0.0.1 \
> -        -- set bridge br-int fail-mode=secure 
> other-config:disable-in-band=true
> -
> -# Start ovn-controller
> -start_daemon ovn-controller
> -
> -ADD_NAMESPACES(sw01)
> -ADD_VETH(sw01, sw01, br-int, "192.168.1.10/24", "f0:00:00:01:02:03", \
> -        "192.168.1.1")
> -ADD_NAMESPACES(server)
> -ADD_VETH(s1, server, br-ext, "172.16.1.1/24", "f0:00:00:01:02:05", \
> -         "172.16.1.254")
> -
> -check ovn-nbctl lr-add R1
> -
> -check ovn-nbctl ls-add sw0
> -check ovn-nbctl ls-add sw1
> -check ovn-nbctl ls-add sw-ext
> -
> -check ovn-nbctl lrp-add R1 rp-sw0 00:00:01:01:02:03 192.168.1.1/24
> -check ovn-nbctl lrp-add R1 rp-ext 00:00:02:01:02:03 172.16.1.254/16
> -
> -check ovn-nbctl lrp-set-gateway-chassis rp-ext hv1
> -
> -check ovn-nbctl lsp-add sw0 sw0-rp -- set Logical_Switch_Port sw0-rp \
> -    type=router options:router-port=rp-sw0 \
> -    -- lsp-set-addresses sw0-rp router
> -
> -check ovn-nbctl set Logical_Switch sw0 other_config:dhcp_relay_port=sw0-rp
> -
> -check ovn-nbctl lsp-add sw-ext ext-rp -- set Logical_Switch_Port ext-rp \
> -    type=router options:router-port=rp-ext \
> -    -- lsp-set-addresses ext-rp router
> -check ovn-nbctl lsp-add-localnet-port sw-ext lnet phynet
> -
> -check ovn-nbctl lsp-add sw0 sw01 \
> -    -- lsp-set-addresses sw01 "f0:00:00:01:02:03 192.168.1.10"
> -
> -AT_CHECK([ovs-vsctl set Open_vSwitch . 
> external-ids:ovn-bridge-mappings=phynet:br-ext])
> -
> -OVN_POPULATE_ARP
> -
> -check ovn-nbctl --wait=hv sync
> -
> -AS_BOX([Disconnect SB and send ping to generate multiple ARPs (>1000)])
> -AT_CHECK([ovs-vsctl set Open_vSwitch . 
> external-ids:ovn-remote=tcp:127.0.0.1:1234])
> -AT_CHECK([ovs-vsctl set Open_vSwitch . 
> external-ids:ovn-remote-probe-interval=100])
> -
> -sleep 1
> -AT_CHECK([ovn-appctl connection-status], [0], [dnl
> -not connected
> -])
> -
> -for i in {1..20}; do
> -  for j in {1..100}; do
> -    NS_EXEC([sw01], [timeout 0.1 ping -q -c 1 -W 0.1 172.16.$i.$j >/dev/null 
> 2>&1 &])
> -  done
> -  sleep 0.5
> -done
> -
> -AS_BOX([Verify pinctrl_drop_buffered_packets_map counter])
> -ovn-appctl  coverage/show >ovn_counters
> -AT_CAPTURE_FILE([ovn_counters])
> -AT_CHECK([grep -q "pinctrl_drop_buffered_packets_map" ovn_counters], [0])
> -
> -AT_CHECK([ovs-vsctl set Open_vSwitch . external-ids:ovn-remote=$SB_PATH])
> -
> -OVN_CLEANUP_CONTROLLER([hv1])
> -
> -OVN_CLEANUP_NORTHD
> -
> -as
> -OVS_TRAFFIC_VSWITCHD_STOP(["/.*error receiving.*/d
> -/failed to query port patch-.*/d
> -/.*terminating with signal 15.*/d"])
> -AT_CLEANUP
> -])
> -
>  OVN_FOR_EACH_NORTHD([
>  AT_SETUP([Routing protocol redirect - l3 gateway])
>  AT_SKIP_IF([test $HAVE_NC = no])
> --
> 2.54.0
>
> _______________________________________________
> dev mailing list
> [email protected]
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>

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

Reply via email to