On Fri, Sep 11, 2026 at 04:11:22PM -0700, Mark Amirkan via B4 Relay wrote:
> From: Mark Amirkan <[email protected]>
> 
> Add two local addresses to a network namespace and exercise RPL route
> validation. Verify that adjacent local addresses remain valid, while a
> non-local address between them causes the route to be rejected.
> 
> Signed-off-by: Mark Amirkan <[email protected]>
> Assisted-by: Symbolic

Thanks for the test. Same comment as before regarding the tag.

> ---
>  tools/testing/selftests/net/Makefile        |  1 +
>  tools/testing/selftests/net/rpl_srh_loop.sh | 38 
> +++++++++++++++++++++++++++++
>  2 files changed, 39 insertions(+)
> 
> diff --git a/tools/testing/selftests/net/Makefile 
> b/tools/testing/selftests/net/Makefile
> index 3ee3378f8b26..7fe7e38b9c6c 100644
> --- a/tools/testing/selftests/net/Makefile
> +++ b/tools/testing/selftests/net/Makefile
> @@ -80,6 +80,7 @@ TEST_PROGS := \
>       reuseport_addr_any.sh \
>       route_hint.sh \
>       route_localnet.sh \
> +     rpl_srh_loop.sh \
>       rps_default_mask.sh \
>       rtnetlink.py \
>       rtnetlink.sh \
> diff --git a/tools/testing/selftests/net/rpl_srh_loop.sh 
> b/tools/testing/selftests/net/rpl_srh_loop.sh
> new file mode 100755
> index 000000000000..a2e9991d789d
> --- /dev/null
> +++ b/tools/testing/selftests/net/rpl_srh_loop.sh
> @@ -0,0 +1,38 @@
> +#!/bin/bash
> +# SPDX-License-Identifier: GPL-2.0
> +
> +source lib.sh
> +
> +cleanup()
> +{
> +     cleanup_ns "$NS"
> +}
> +
> +trap cleanup EXIT

This can be:

trap 'cleanup_ns $NS' EXIT

> +
> +require_command ip
> +setup_ns NS || exit $?
> +
> +ip -n "$NS" -6 address add 2001:db8:1::1/128 dev lo nodad
> +ip -n "$NS" -6 address add 2001:db8:3::1/128 dev lo nodad
> +
> +if ! ip -n "$NS" -6 route add 2001:db8:10::/64 \
> +     encap rpl segs 2001:db8:4::1 dev lo 2>/dev/null; then
> +     echo "SKIP: RPL lightweight tunnel support not available"
> +     exit $ksft_skip
> +fi

This can be removed. rpl is present in iproute2 since 2020 and
CONFIG_IPV6_RPL_LWTUNNEL=y is present in tools/testing/selftests/net/config

> +
> +RET=0
> +ip -n "$NS" -6 route add 2001:db8:11::/64 \
> +     encap rpl segs 2001:db8:1::1,2001:db8:3::1 dev lo
> +check_err $? "Adjacent local addresses were rejected"
> +log_test "RPL accepts adjacent local addresses"
> +
> +RET=0
> +ip -n "$NS" -6 route add 2001:db8:12::/64 \
> +     encap rpl segs 2001:db8:1::1,2001:db8:2::1,2001:db8:3::1 dev lo \
> +     2>/dev/null
> +check_fail $? "Separated local addresses were accepted"
> +log_test "RPL rejects separated local addresses"
> +
> +exit $EXIT_STATUS

Should be:

exit "$EXIT_STATUS"

Please run shellcheck. Preferably via ingest_mdir.py:

https://github.com/linux-netdev/nipa#running-locally

Reply via email to