Re: [PATCH net-next 2/2] selftests: net: Add tests for ARP probe and DAD NS handling

Nikolay Aleksandrov
2026-04-29T09:04:29Z

On 29/04/2026 09:24, Danielle Ratson wrote:
> Add test cases to verify that ARP probes and DAD Neighbor Solicitations
> are handled correctly by the bridge neighbor suppression feature.
>
> When neighbor suppression is enabled on a bridge VXLAN port, the bridge
> should reply to ARP/NS messages on behalf of remote hosts when both FDB
> and neighbor entries exist, and the answer is known. However, when
> either the FDB or the neighbor exists, ARP probes / DAD NS should be
> treated like regular ARP requests / NS and flood to VXLAN.
>
> Add two new test functions:
>
> neigh_suppress_arp_probe(): Tests ARP probe handling by triggering
> duplicate address detection using arping -D. Verifies that probes are
> flooded when the bridge doesn't know the answer, and suppressed when FDB
> and neighbor entries exist.
>
> neigh_suppress_dad_ns(): Tests DAD NS handling by constructing DAD NS
> packets using mausezahn and verifies correct flooding/suppression
> behavior.
>
> Before the previous patch:
>
> $ ./test_bridge_neigh_suppress.sh -t "neigh_suppress_arp_probe neigh_suppress_dad_ns"
>
> Per-port ARP probe suppression
> ------------------------------
> TEST: ARP probe suppression [ OK ]
> TEST: "neigh_suppress" is on [ OK ]
> TEST: ARP probe suppression [FAIL]
> TEST: FDB and neighbor entry installation [ OK ]
> TEST: arping [FAIL]
> TEST: ARP probe suppression [FAIL]
> TEST: neighbor removal [ OK ]
> TEST: ARP probe suppression [FAIL]
> TEST: "neigh_suppress" is off [ OK ]
> TEST: ARP probe suppression [FAIL]
>
> Per-port DAD NS suppression
> ---------------------------
> TEST: DAD NS suppression [ OK ]
> TEST: "neigh_suppress" is on [ OK ]
> TEST: DAD NS suppression [FAIL]
> TEST: FDB and neighbor entry installation [ OK ]
> TEST: DAD NS suppression [FAIL]
> TEST: neighbor removal [ OK ]
> TEST: DAD NS suppression [FAIL]
> TEST: DAD NS proxy NA reply [FAIL]
> TEST: "neigh_suppress" is off [ OK ]
> TEST: DAD NS suppression [FAIL]
>
> Tests passed: 10
> Tests failed: 10
>
> After the previous patch:
>
> $ ./test_bridge_neigh_suppress.sh -t "neigh_suppress_arp_probe neigh_suppress_dad_ns"
>
> Per-port ARP probe suppression
> ------------------------------
> TEST: ARP probe suppression [ OK ]
> TEST: "neigh_suppress" is on [ OK ]
> TEST: ARP probe suppression [ OK ]
> TEST: FDB and neighbor entry installation [ OK ]
> TEST: arping [ OK ]
> TEST: ARP probe suppression [ OK ]
> TEST: neighbor removal [ OK ]
> TEST: ARP probe suppression [ OK ]
> TEST: "neigh_suppress" is off [ OK ]
> TEST: ARP probe suppression [ OK ]
>
> Per-port DAD NS suppression
> ---------------------------
> TEST: DAD NS suppression [ OK ]
> TEST: "neigh_suppress" is on [ OK ]
> TEST: DAD NS suppression [ OK ]
> TEST: FDB and neighbor entry installation [ OK ]
> TEST: DAD NS suppression [ OK ]
> TEST: neighbor removal [ OK ]
> TEST: DAD NS suppression [ OK ]
> TEST: DAD NS proxy NA reply [ OK ]
> TEST: "neigh_suppress" is off [ OK ]
> TEST: DAD NS suppression [ OK ]
>
> Tests passed: 20
> Tests failed: 0
>
> Signed-off-by: Danielle Ratson <danieller@nvidia.com>
> ---
> .../net/test_bridge_neigh_suppress.sh | 126 ++++++++++++++++++
> 1 file changed, 126 insertions(+)
>

Acked-by: Nikolay Aleksandrov <razor@blackwall.org>