On Wed, Sep 23, 2026 at 01:34:19AM +0000, Lawrence Lee wrote:
> Seed a FAILED neighbor before triggering an unsolicited NA. Verify that
> the entry transitions to STALE and learns the advertised link-layer
> address only when drop_unsolicited_na is disabled, accept_untracked_na
> mode 1 or in-prefix mode 2 is enabled, and IPv6 forwarding is enabled.
> Verify that disabling each gate keeps the entry in FAILED without a
> link-layer address.
>
> Mark the seed externally learned and disable carrier-based eviction so
> the entry cannot be garbage-collected before the NA arrives. Require the
> marker after processing to prove that a recovered entry was updated in
> place instead of deleted and recreated.
>
> Keep the NA source, target, and neighbor key fixed for the mode 2 cases.
> Vary the prefix configured on the router to exercise the source-prefix
> check without changing the entry under test.
>
> Arm packet capture before bringing up the host interface and starting
> DAD. Wait for the capture to become ready and for tcpdump to exit so the
> NA cannot be missed and receive processing is complete before checking
> the neighbor entry.
>
> Preserve the return code from test_unsolicited_na_common() before
> constructing the test description. The array assignment previously reset
> the return code to zero and caused existing cases to report false success.
>
> Fixes: f9a2fb73318e ("net/ipv6: Introduce accept_unsolicited_na knob to
> implement router-side changes for RFC9131")
You shouldn't have added a Fixes tag. Backporting this patch to older
kernels will make the test fail. Wait for feedback from Jakub / Paolo
before posting v5. They might agree to strip it before applying.
> Link: https://lore.kernel.org/r/[email protected]
> Assisted-by: LLM Sashiko sparse
> Signed-off-by: Lawrence Lee <[email protected]>