From: Oscar Maes <oscmaes92@gmail.com>
To: Paolo Abeni <pabeni@redhat.com>
Cc: netdev@vger.kernel.org, davem@davemloft.net, dsahern@kernel.org,
edumazet@google.com, kuba@kernel.org, horms@kernel.org,
shuah@kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH net-next v2 2/2] selftests: net: add test for dst hint mechanism with directed broadcast addresses
Date: Tue, 19 Aug 2025 02:11:05 +0200 [thread overview]
Message-ID: <20250819001105-oscmaes92@gmail.com> (raw)
In-Reply-To: <98b7d1b2-843c-40c6-8918-1af431aedc5f@redhat.com>
On Tue, Aug 19, 2025 at 12:56:58PM +0200, Paolo Abeni wrote:
> On 8/14/25 4:03 PM, Oscar Maes wrote:
> > tools/testing/selftests/net/route_hint.sh | 58 +++++++++++++++++++++++
> > 1 file changed, 58 insertions(+)
> > create mode 100755 tools/testing/selftests/net/route_hint.sh
>
> You must additionally update the net selftest Makefile to include the
> new test.
>
My bad.
> >
> > diff --git a/tools/testing/selftests/net/route_hint.sh b/tools/testing/selftests/net/route_hint.sh
> > new file mode 100755
> > index 000000000000..fab08d8b742d
> > --- /dev/null
> > +++ b/tools/testing/selftests/net/route_hint.sh
> > @@ -0,0 +1,58 @@
> > +#!/bin/bash
> > +# SPDX-License-Identifier: GPL-2.0
> > +
> > +# This test ensures directed broadcast routes use dst hint mechanism
> > +
> > +CLIENT_NS=$(mktemp -u client-XXXXXXXX)
> > +CLIENT_IP4="192.168.0.1"
> > +
> > +SERVER_NS=$(mktemp -u server-XXXXXXXX)
> > +SERVER_IP4="192.168.0.2"
>
> > +
> > +BROADCAST_ADDRESS="192.168.0.255"
> > +
> > +setup() {
> > + ip netns add "${CLIENT_NS}"
> > + ip netns add "${SERVER_NS}"
>
> You can/should use setup_ns() from lib.sh to avoid some duplicate code
>
> > +
> > + ip -net "${SERVER_NS}" link add link1 type veth peer name link0 netns "${CLIENT_NS}"
> > +
> > + ip -net "${CLIENT_NS}" link set link0 up
> > + ip -net "${CLIENT_NS}" addr add "${CLIENT_IP4}/24" dev link0
> > +
> > + ip -net "${SERVER_NS}" link set link1 up
> > + ip -net "${SERVER_NS}" addr add "${SERVER_IP4}/24" dev link1
> > +
> > + ip netns exec "${CLIENT_NS}" ethtool -K link0 tcp-segmentation-offload off
> > + ip netns exec "${SERVER_NS}" sh -c "echo 500000000 > /sys/class/net/link1/gro_flush_timeout"
> > + ip netns exec "${SERVER_NS}" sh -c "echo 1 > /sys/class/net/link1/napi_defer_hard_irqs"
> > + ip netns exec "${SERVER_NS}" ethtool -K link1 generic-receive-offload on
> > +}
> > +
> > +cleanup() {
> > + ip -net "${SERVER_NS}" link del link1
> > + ip netns del "${CLIENT_NS}"
> > + ip netns del "${SERVER_NS}"
> > +}
> > +
> > +directed_bcast_hint_test()
> > +{
> > + echo "Testing for directed broadcast route hint"
> > +
> > + orig_in_brd=$(ip netns exec "${SERVER_NS}" lnstat -k in_brd -s0 -i1 -c1 | tr -d ' |')
>
> Likely using the '--json' argument and 'jq' will make the parsing more
> clear.
>
> > + ip netns exec "${CLIENT_NS}" mausezahn link0 -a own -b bcast -A "${CLIENT_IP4}" \
> > + -B "${BROADCAST_ADDRESS}" -c1 -t tcp "sp=1-100,dp=1234,s=1,a=0" -p 5 -q
>
> You should check for mausezahn presence and ev. error out with error
> code 4 (ksft_skip)
>
> > + sleep 1
> > + new_in_brd=$(ip netns exec "${SERVER_NS}" lnstat -k in_brd -s0 -i1 -c1 | tr -d ' |')
> > +
> > + res=$(echo "${new_in_brd} - ${orig_in_brd}" | bc)
> > +
> > + [ "${res}" -lt 100 ]
>
> It would be helpful additionally printing the test result: '[ ok ]' /
> '[fail] expected ... found ...'
>
> /P
>
Will fix everything in v3 and resend shortly.
prev parent reply other threads:[~2025-08-19 15:09 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-14 14:03 [PATCH net-next v2 0/2] net: ipv4: allow directed broadcast routes to use dst hint Oscar Maes
2025-08-14 14:03 ` [PATCH net-next v2 1/2] " Oscar Maes
2025-08-19 10:46 ` Paolo Abeni
2025-08-19 0:08 ` Oscar Maes
2025-08-14 14:03 ` [PATCH net-next v2 2/2] selftests: net: add test for dst hint mechanism with directed broadcast addresses Oscar Maes
2025-08-19 10:56 ` Paolo Abeni
2025-08-19 0:11 ` Oscar Maes [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=20250819001105-oscmaes92@gmail.com \
--to=oscmaes92@gmail.com \
--cc=davem@davemloft.net \
--cc=dsahern@kernel.org \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.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 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.