From: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
To: Willem de Bruijn <willemdebruijn.kernel@gmail.com>,
Anna Emese Nyiri <annaemesenyiri@gmail.com>,
netdev@vger.kernel.org
Cc: fejes@inf.elte.hu, annaemesenyiri@gmail.com,
edumazet@google.com, kuba@kernel.org, pabeni@redhat.com,
willemdebruijn.kernel@gmail.com,
Ido Schimmel <idosch@idosch.org>
Subject: Re: [PATCH net-next v3 3/3] selftest: net: test SO_PRIORITY ancillary data with cmsg_sender
Date: Fri, 08 Nov 2024 09:46:59 -0500 [thread overview]
Message-ID: <672e246394d26_2a4cd22945d@willemb.c.googlers.com.notmuch> (raw)
In-Reply-To: <672cf752e2014_1f26762945a@willemb.c.googlers.com.notmuch>
Willem de Bruijn wrote:
> Anna Emese Nyiri wrote:
> > Extend cmsg_sender.c with a new option '-Q' to send SO_PRIORITY
> > ancillary data.
> >
> > Add the `cmsg_so_priority.sh` script, which sets up two network
> > namespaces (red and green) and uses the `cmsg_sender.c` program to
> > send messages between them. The script sets packet priorities both
> > via `setsockopt` and control messages (cmsg) and verifies whether
> > packets are routed to the same queue based on priority settings.
>
> qdisc. queue is a more generic term, generally referring to hw queues.
>
> > Suggested-by: Ido Schimmel <idosch@idosch.org>
> > Signed-off-by: Anna Emese Nyiri <annaemesenyiri@gmail.com>
> > ---
> > tools/testing/selftests/net/cmsg_sender.c | 11 +-
> > .../testing/selftests/net/cmsg_so_priority.sh | 115 ++++++++++++++++++
> > 2 files changed, 125 insertions(+), 1 deletion(-)
> > create mode 100755 tools/testing/selftests/net/cmsg_so_priority.sh
>
> > diff --git a/tools/testing/selftests/net/cmsg_so_priority.sh b/tools/testing/selftests/net/cmsg_so_priority.sh
> > new file mode 100755
> > index 000000000000..706d29b251e9
> > --- /dev/null
> > +++ b/tools/testing/selftests/net/cmsg_so_priority.sh
> > @@ -0,0 +1,115 @@
> > +#!/bin/bash
>
> SPDX header
>
> > +
> > +source lib.sh
> > +
> > +IP4=192.168.0.2/16
> > +TGT4=192.168.0.3/16
> > +TGT4_NO_MASK=192.168.0.3
> > +IP6=2001:db8::2/64
> > +TGT6=2001:db8::3/64
> > +TGT6_NO_MASK=2001:db8::3
> > +IP4BR=192.168.0.1/16
> > +IP6BR=2001:db8::1/64
> > +PORT=8080
> > +DELAY=400000
> > +QUEUE_NUM=4
> > +
> > +
> > +cleanup() {
> > + ip netns del red 2>/dev/null
> > + ip netns del green 2>/dev/null
> > + ip link del br0 2>/dev/null
> > + ip link del vethcab0 2>/dev/null
> > + ip link del vethcab1 2>/dev/null
> > +}
> > +
> > +trap cleanup EXIT
> > +
> > +priority_values=($(seq 0 $((QUEUE_NUM - 1))))
> > +
> > +queue_config=""
> > +for ((i=0; i<$QUEUE_NUM; i++)); do
> > + queue_config+=" 1@$i"
> > +done
> > +
> > +map_config=$(seq 0 $((QUEUE_NUM - 1)) | tr '\n' ' ')
> > +
> > +ip netns add red
> > +ip netns add green
> > +ip link add br0 type bridge
> > +ip link set br0 up
>
> Is this bridge needed? Can this just use a veth pair as is.
>
> More importantly, it would be great if we can deduplicate this kind of
> setup boilerplate across similar tests as much as possible.
As a matter of fact, similar to cmsg_so_mark, this test can probably
use a dummy netdevice, no need for a second namespace and dev.
cmsg_so_mark.sh is probably small enough that it is fine to copy that
and create a duplicate. As trying to extend it to cover both tests
will probably double it in size and will just be harder to follow.
next prev parent reply other threads:[~2024-11-08 14:47 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-07 13:22 [PATCH net-next v3 0/3] SO_PRIORITY cmsg patch summary Anna Emese Nyiri
2024-11-07 13:22 ` [PATCH net-next v3 1/3] net: Introduce sk_set_prio_allowed helper function Anna Emese Nyiri
2024-11-07 13:48 ` Eric Dumazet
2024-11-07 15:55 ` Willem de Bruijn
2024-11-07 13:22 ` [PATCH net-next v3 2/3] net: support SO_PRIORITY cmsg Anna Emese Nyiri
2024-11-07 13:50 ` Eric Dumazet
2024-11-07 16:17 ` Willem de Bruijn
2024-11-07 13:22 ` [PATCH net-next v3 3/3] selftest: net: test SO_PRIORITY ancillary data with cmsg_sender Anna Emese Nyiri
2024-11-07 17:22 ` Willem de Bruijn
2024-11-08 14:46 ` Willem de Bruijn [this message]
2024-11-09 18:54 ` Ferenc Fejes
2024-11-09 19:56 ` Willem de Bruijn
2024-11-10 13:27 ` Ido Schimmel
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=672e246394d26_2a4cd22945d@willemb.c.googlers.com.notmuch \
--to=willemdebruijn.kernel@gmail.com \
--cc=annaemesenyiri@gmail.com \
--cc=edumazet@google.com \
--cc=fejes@inf.elte.hu \
--cc=idosch@idosch.org \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
/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.