Netdev List
 help / color / mirror / Atom feed
From: Hangbin Liu <hangbin.liu@linux.dev>
To: netdev-bot+sashiko@kernel.org
Cc: andrea.mayer@uniroma2.it, davem@davemloft.net, kuba@kernel.org,
	pabeni@redhat.com, horms@kernel.org, shuah@kernel.org,
	edumazet@kernel.org, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org,
	liuhangbin@kylinos.cn
Subject: Re: [PATCH net-next v2 5/5] selftests: seg6: add End.X PSP selftest
Date: Mon, 12 Oct 2026 08:47:23 +0800	[thread overview]
Message-ID: <aswuG5CZUWFRQF_t@fedora> (raw)
In-Reply-To: <179162766537.434549.5701666016384409279@kernel.org>

On Sat, Oct 10, 2026 at 10:21:05AM +0000, netdev-bot+sashiko@kernel.org wrote:
> Thank you for your contribution! Sashiko AI review found 2 potential
> issue(s) to consider.
> 
> Critical: 0 · High: 0 · Medium: 1 · Low: 1
> 
> If you believe none of the issues are legitimate, please reply to each
> issue of Medium severity or higher and explain why the AI is wrong.
> If any of them are legitimate and you plan to respin, please let patchwork
> know by including "pw-bot: cr" as a separate line at the end of your reply
> (one such reply per series is enough).
> 
> - [Medium] The End.X PSP test in
>   tools/testing/selftests/net/srv6_end_flavors_test.sh does not check…

This patch is a series of the End.X PSP support. I don't think anyone will
only backport this selftest without the kernel support.

> - [Low] The patch adds an `<id:op:act>` descriptor syntax and an End.X
>   PSP scenario, but the script's documentation was not updated.

Low priority. If there is a new version. I will update the documents.

Thanks
Hangbin

> 
> --
> 
> selftests: seg6: add End.X PSP selftest
> 
> This commit adds an End.X PSP test to srv6_end_flavors_test.sh. A new
> helper, __get_srv6_rtcfg_act(), lets __setup_rt_policy() parse an
> optional action field in the router description, e.g. "4:psp:End.X,4,2".
> 
> > diff --git a/tools/testing/selftests/net/srv6_end_flavors_test.sh b/tools/testing/selftests/net/srv6_end_flavors_test.sh
> > index a57e92541a046..4ba93ace86563 100755
> > --- a/tools/testing/selftests/net/srv6_end_flavors_test.sh
> > +++ b/tools/testing/selftests/net/srv6_end_flavors_test.sh
> > @@ -397,6 +397,36 @@ __get_srv6_rtcfg_op()
> >  		xargs | sed 's/ /,/g'
> >  }
> >  
> > +# Given the description of a router <id:op:act> as an input, the function
> > +# returns the <act> token which represents the action (e.g. End, End.X,
> > +# End.T behavior with or without route table, out interface) configured
> > +# for the node.
> > +#
> > +# Support End, End.X at present. When omit, return default End behavior.
> > +# i.e. input: "1:psp:End.X,1,3"
> > +#      output: "End.X nh6 fcf0:0:1:3::3 oif veth-rt-1-3"
> > +__get_srv6_rtcfg_act()
> > +{
> > +	local element="$1"
> > +	local net_prefix
> > +	local acts
> > +	local out
> > +
> > +	acts="$(echo "${element}" | cut -d':' -f3)"
> > +	act="$(echo "${acts}" | cut -d',' -f1)"
> > +	act="${act:-"End"}"
> > +
> > +	rt="$(echo "${acts}" | cut -d',' -f2)"
> > +	neigh="$(echo "${acts}" | cut -d',' -f3)"
> > +
> > +	if [ "$act" == "End" ]; then
> > +		echo "End"
> > +	elif [ "$act" == "End.X" ]; then
> > +		net_prefix="$(get_network_prefix "${rt}" "${neigh}")"
> > +		echo "End.X nh6 ${net_prefix}::${neigh} oif veth-rt-${rt}-${neigh}"
> > +	fi
> > +}
> 
> [Severity: Low]
> What should happen when act is something other than End or End.X? The
> comment above mentions End.T, but there is no else branch. For End.T, a
> typo, or a case mismatch, the function prints an empty string, and
> __setup_rt_policy() builds:
> 
>     encap seg6local action  flavors psp
> 
> Under set -e that shows up as an environment setup SKIP, not as a clear
> error in the test description.
> 
> A few smaller points in the same helper:
> 
> act, rt and neigh are not declared local, but the unused out is.
> 
> The End.X form repeats the node id ("4:psp:End.X,4,2") and never checks
> that the two ids match.
> 
> Some existing comments in the file also look stale after this change:
> 
> The file header still says "Currently in this selftest we consider only
> the PSP flavor for the SRv6 End behavior."
> 
> The Local SID table still says "fcff:x::ef1 is associated with the SRv6
> End behavior with PSP flavor". In the new test, fcff:3::ef1 and
> fcff:4::ef1 are End.X PSP.
> 
> The $3 description for __setup_rt_policy() still talks only about
> <nodeid:op> elements and does not mention the new act field.
> 
> [ ... ]
> 
> > @@ -819,6 +875,22 @@ host_srv6_end_flv_psp_tests()
> >  	cleanup_end_flv_psp
> >  }
> >  
> > +host_srv6_endx_flv_psp_tests()
> > +{
> > +	set -e
> > +	SETUP_ERR=1
> > +	setup_endx_flv_psp
> > +	SETUP_ERR=0
> > +	set +e
> 
> [Severity: Medium]
> Does this need a kernel support check for End.X with the PSP flavor?
> The only kernel probe is "test_kernel_supp_or_ksft_skip psp", and it only
> installs "action End flavors psp". It never tries End.X, End.X with
> flavors, or End.X with oif.
> 
> Before the series commit "seg6: add RFC8986 flavor support for End.X",
> net/ipv6/seg6_local.c had:
> 
>     #define SEG6_LOCAL_END_X_FLV_SUPP_OPS	SEG6_F_LOCAL_FLV_NEXT_CSID
> 
> On those kernels parse_nla_flavors() rejects "flavors psp" on End.X with
> -EOPNOTSUPP.
> 
> When that happens, the End.X route add from setup_endx_flv_psp() fails
> under set -e and the EXIT trap runs cleanup(). The earlier test groups
> passed, so ret is still ksft_skip, and cleanup() takes this path:
> 
> 	if [ "${SETUP_ERR}" -ne 0 ] && [ "$ret" -ne "$ksft_fail" ]; then
> 		echo "SKIP: Setting up the testing environment failed"
> 		exit "${ksft_skip}"
> 	fi
> 
> Would this turn a previous PASS on older or stable kernels into a SKIP
> for the whole script? print_log_test_results() never runs, so the End
> PSP results that already passed are dropped.
> 
> On a kernel that is supposed to support End.X PSP, a regression that
> breaks this route install would also be reported as SKIP rather than
> FAIL.
> 
> Could End.X PSP support be checked up front, so that only this test
> group is skipped when the kernel lacks it?
> 
> > +
> > +	log_section "SRv6 connectivity test hosts (h1 <-> h2, End.X flavor PSP)"
> > +
> > +	check_and_log_hs_connectivity 1 2
> > +	check_and_log_hs_connectivity 2 1
> > +
> > +	cleanup_endx_flv_psp
> > +}
> 
> [ ... ]
> 
> -- 
> Sashiko AI review · https://netdev-ai.bots.linux.dev/sashiko/#/patchset/20261009-srv6_flavors_endx-v2-0-56ac7f838f41%40kylinos.cn

      reply	other threads:[~2026-10-12  0:47 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-09  9:58 [PATCH net-next v2 0/5] seg6: add End.X PSP flavor support and selftests Hangbin Liu
2026-10-09  9:58 ` [PATCH net-next v2 1/5] seg6: split final End process out of flavor processing Hangbin Liu
2026-10-09  9:58 ` [PATCH net-next v2 2/5] seg6: add RFC8986 flavor support for End.X Hangbin Liu
2026-10-10 10:21   ` netdev-bot+sashiko
2026-10-12  0:32     ` Hangbin Liu
2026-10-12  0:59   ` Andrea Mayer
2026-10-12  1:38     ` Hangbin Liu
2026-10-09  9:58 ` [PATCH net-next v2 3/5] selftests: seg6: move SRv6 End PSP setup into its own helper Hangbin Liu
2026-10-10 10:21   ` netdev-bot+sashiko
2026-10-12  0:33     ` Hangbin Liu
2026-10-09  9:58 ` [PATCH net-next v2 4/5] selftest: seg6: add explicit cleanup for SRv6 End PSP test Hangbin Liu
2026-10-09  9:58 ` [PATCH net-next v2 5/5] selftests: seg6: add End.X PSP selftest Hangbin Liu
2026-10-10 10:21   ` netdev-bot+sashiko
2026-10-12  0:47     ` Hangbin Liu [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aswuG5CZUWFRQF_t@fedora \
    --to=hangbin.liu@linux.dev \
    --cc=andrea.mayer@uniroma2.it \
    --cc=davem@davemloft.net \
    --cc=edumazet@kernel.org \
    --cc=horms@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=liuhangbin@kylinos.cn \
    --cc=netdev-bot+sashiko@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=shuah@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox