All of lore.kernel.org
 help / color / mirror / Atom feed
From: Petr Machata <petrm@nvidia.com>
To: Matthieu Baerts <matttbe@kernel.org>
Cc: Jakub Kicinski <kuba@kernel.org>, Petr Machata <petrm@nvidia.com>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	"Paolo Abeni" <pabeni@redhat.com>,
	David Ahern <dsahern@gmail.com>, <netdev@vger.kernel.org>,
	Simon Horman <horms@kernel.org>,
	"Nikolay Aleksandrov" <razor@blackwall.org>,
	Ido Schimmel <idosch@nvidia.com>, <mlxsw@nvidia.com>,
	Shuah Khan <shuah@kernel.org>, <linux-kselftest@vger.kernel.org>
Subject: Re: [PATCH net-next v2 14/14] selftests: forwarding: Add a test for verifying VXLAN MC underlay
Date: Mon, 16 Jun 2025 17:06:00 +0200	[thread overview]
Message-ID: <87wm9bu13q.fsf@nvidia.com> (raw)
In-Reply-To: <ccaf0784-d7a3-41e2-b3e0-65b9022f15a6@kernel.org>


Matthieu Baerts <matttbe@kernel.org> writes:

> Hi Jakub, Petr,
>
> On 13/06/2025 18:57, Jakub Kicinski wrote:
>> On Thu, 12 Jun 2025 22:10:48 +0200 Petr Machata wrote:
>>> Add tests for MC-routing underlay VXLAN traffic.
>>>
>>> Signed-off-by: Petr Machata <petrm@nvidia.com>
>>> ---
>>>
>>> Notes:
>>>     v2:
>>>     - Adjust as per shellcheck citations
>> 
>> Noob question - would we also be able to squash the unreachable code
>> warnings if we declared ALL_TESTS as an array instead of a string?
>> IDK if there's any trick we could use to make shellcheck stop
>> complaining. Not blocking the series, obviously.
>> 
>> CC Matthieu, I presume you may have already investigated this :)
>
> Thank you for the Cc. Yes indeed, I already had this case.
>
> I don't think declaring ALL_TESTS as an array would help for this case
> -- even if it looks clearer than a long string -- because I think
> shellcheck will simply check if all the different functions are called
> directly. As mentioned in Shellcheck wiki [1]: "ShellCheck may
> incorrectly believe that code is unreachable if it's invoked by variable
> name or in a trap. In such a case, please Ignore the message".
>
> That what we did with MPTCP, see the top of the mptcp_join.sh file for
> example [2], where we have:
>
>> # ShellCheck incorrectly believes that most of the code here is unreachable
>> # because it's invoked by variable name, see how the "tests" array is used
>> #shellcheck disable=SC2317
>
> If you add this at the top of your new file, followed by an empty line,
> shellcheck will ignore this issue for the whole file.

The ALL_TESTS issue is not the end of it either. We use helpers that
call stuff indirectly all over the place. defer, in_ns... It would make
sense to me to just disable SC2317 in NIPA runs. Or maybe even put it in
net/forwarding/.shellcheckrc. Pretty much all those tests are written in
a style that will hit these issues.

> Note: regarding the other issue you have:
>
>> In vxlan_bridge_1q_mc_ul.sh line 766:
>> setup_wait
>> ^--------^ SC2119 (info): Use setup_wait "$@" if function's $1 should mean script's $1.
>
> I guess you can also ignore it, or use "" as argument. If you ignore it
> -- which looks cleaner -- I think it is always good to add a comment, e.g.
>
>> # shellcheck disable=SC2119  # arguments are optional, not needed here.
>> setup_wait

I'll just pass "$NUM_NETIFS" to get rid of the warning. I really don't
like these shellcheck annotations.

I'll send a patch that changes the calling convention so that SC doesn't
get triggered, because I really don't want every new selftest to have to
deal with this.

  reply	other threads:[~2025-06-16 16:02 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-12 20:10 [PATCH net-next v2 00/14] ipmr, ip6mr: Allow MC-routing locally-generated MC packets Petr Machata
2025-06-12 20:10 ` [PATCH net-next v2 01/14] net: ipv4: Add a flags argument to iptunnel_xmit(), udp_tunnel_xmit_skb() Petr Machata
2025-06-13 16:48   ` Jakub Kicinski
2025-06-13 19:23     ` Petr Machata
2025-06-12 20:10 ` [PATCH net-next v2 02/14] net: ipv4: ipmr: ipmr_queue_xmit(): Drop local variable `dev' Petr Machata
2025-06-12 20:10 ` [PATCH net-next v2 03/14] net: ipv4: ipmr: Split ipmr_queue_xmit() in two Petr Machata
2025-06-12 20:10 ` [PATCH net-next v2 04/14] net: ipv4: Add ip_mr_output() Petr Machata
2025-06-13 16:51   ` Jakub Kicinski
2025-06-13 19:31     ` Petr Machata
2025-06-12 20:10 ` [PATCH net-next v2 05/14] net: ipv6: Make udp_tunnel6_xmit_skb() void Petr Machata
2025-06-12 20:10 ` [PATCH net-next v2 06/14] net: ipv6: Add a flags argument to ip6tunnel_xmit(), udp_tunnel6_xmit_skb() Petr Machata
2025-06-12 20:10 ` [PATCH net-next v2 07/14] net: ipv6: ip6mr: Fix in/out netdev to pass to the FORWARD chain Petr Machata
2025-06-12 20:10 ` [PATCH net-next v2 08/14] net: ipv6: ip6mr: Extract a helper out of ip6mr_forward2() Petr Machata
2025-06-13 16:53   ` Jakub Kicinski
2025-06-13 19:40     ` Petr Machata
2025-06-12 20:10 ` [PATCH net-next v2 09/14] net: ipv6: Add ip6_mr_output() Petr Machata
2025-06-13 16:48   ` Jakub Kicinski
2025-06-13 18:59     ` Petr Machata
2025-06-13 21:52       ` Jakub Kicinski
2025-06-12 20:10 ` [PATCH net-next v2 10/14] vxlan: Support MC routing in the underlay Petr Machata
2025-06-12 20:10 ` [PATCH net-next v2 11/14] selftests: forwarding: lib: Move smcrouted helpers here Petr Machata
2025-06-12 20:10 ` [PATCH net-next v2 12/14] selftests: net: lib: Add ip_link_has_flag() Petr Machata
2025-06-12 20:10 ` [PATCH net-next v2 13/14] selftests: forwarding: adf_mcd_start(): Allow configuring custom interfaces Petr Machata
2025-06-12 20:10 ` [PATCH net-next v2 14/14] selftests: forwarding: Add a test for verifying VXLAN MC underlay Petr Machata
2025-06-13 16:57   ` Jakub Kicinski
2025-06-13 17:28     ` Matthieu Baerts
2025-06-16 15:06       ` Petr Machata [this message]
2025-06-16 16:18         ` Matthieu Baerts
2025-06-16 17:52           ` Jakub Kicinski
2025-06-16 19:53           ` Petr Machata
2025-06-16 20:40             ` Matthieu Baerts
2025-06-16 20:55               ` Jakub Kicinski
2025-06-13 15:48 ` [PATCH net-next v2 00/14] ipmr, ip6mr: Allow MC-routing locally-generated MC packets Jakub Kicinski

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=87wm9bu13q.fsf@nvidia.com \
    --to=petrm@nvidia.com \
    --cc=davem@davemloft.net \
    --cc=dsahern@gmail.com \
    --cc=edumazet@google.com \
    --cc=horms@kernel.org \
    --cc=idosch@nvidia.com \
    --cc=kuba@kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=matttbe@kernel.org \
    --cc=mlxsw@nvidia.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=razor@blackwall.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.