From: Stephen Hemminger <stephen@networkplumber.org>
To: "Morten Brørup" <mb@smartsharesystems.com>
Cc: <dev@dpdk.org>
Subject: Re: [RFC] net: add experimental UDP encapsulation PMD
Date: Tue, 11 Oct 2022 07:06:41 -0700 [thread overview]
Message-ID: <20221011070641.33d7ba56@hermes.local> (raw)
In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35D873D0@smartserver.smartshare.dk>
On Tue, 11 Oct 2022 08:47:30 +0200
Morten Brørup <mb@smartsharesystems.com> wrote:
> > From: Stephen Hemminger [mailto:stephen@networkplumber.org]
> > Sent: Tuesday, 11 October 2022 02.10
> >
> > This is a new PMD which can be useful to test a DPDK application
> > from another test program. The PMD binds to a connected UDP socket
> > and expects to receive and send raw Ethernet packets over that
> > socket.
> >
> > This is especially useful for testing envirionments where you
> > can't/don't want to give the test driver program route permission.
> >
> > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> > ---
>
> Good idea.
>
> Multiple queues are supported, but how does the remote application steer traffic into specific queues (for PMD RX), or identify which queue the packet was supposed to egress on (for PMD TX)?
For Tx it relies on the fact that a UDP socket is idempotent so multiple Tx queues
just share a single file descriptor.
On Rx, there is no steering, it just has multiple threads reading on the same socket.
For testing this simulates multiple receivers being active.
>
> You could use a range of UDP port numbers for that, so the second queue uses the UDP port number following the configured port number, etc..
>
> Or you could open for feature creep. Here are some thoughts.
>
> Add a metadata header in front of each packet - this might also allow more advanced use in the future, e.g. the remote application could set mbuf hash fields.
>
> Consider if this PMD somehow can be integrated with the TUN/TAP PMD or something similar, and through that existing PMD support more advanced NIC features towards the DPDK application, such as VLAN stripping, GRO, etc..
The other alternative is making a VXLAN driver, which is on my TODO list.
next prev parent reply other threads:[~2022-10-11 14:06 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-11 0:10 Stephen Hemminger
2022-10-11 6:47 ` Morten Brørup
2022-10-11 14:06 ` Stephen Hemminger [this message]
2022-10-11 16:18 ` Ferruh Yigit
2022-10-11 17:54 ` Stephen Hemminger
2022-10-11 16:48 ` Ferruh Yigit
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=20221011070641.33d7ba56@hermes.local \
--to=stephen@networkplumber.org \
--cc=dev@dpdk.org \
--cc=mb@smartsharesystems.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).