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