From: Stephen Hemminger <stephen@networkplumber.org>
To: Nicholas Pratte <npratte@iol.unh.edu>
Cc: "Honnappa Nagarahalli" <Honnappa.Nagarahalli@arm.com>,
"Juraj Linkeš" <juraj.linkes@pantheon.tech>,
"dmarx@iol.unh.edu" <dmarx@iol.unh.edu>,
"jspewock@iol.unh.edu" <jspewock@iol.unh.edu>,
"Richardson, Bruce" <bruce.richardson@intel.com>,
"yoan.picchi@foss.arm.com" <yoan.picchi@foss.arm.com>,
"Paul Szczepanek" <Paul.Szczepanek@arm.com>,
"Luca Vizzarro" <Luca.Vizzarro@arm.com>,
"Patrick Robb" <probb@iol.unh.edu>, "dev@dpdk.org" <dev@dpdk.org>,
nd <nd@arm.com>,
thomas@monjalon.net
Subject: Re: [RFC PATCH v2] Initial Implementation For Jumbo Frames Test Suite
Date: Tue, 25 Jun 2024 16:49:50 -0700 [thread overview]
Message-ID: <20240625164950.20a08606@hermes.local> (raw)
In-Reply-To: <CAKXZ7ehQ9wNTmxaq-nmyCT0stYbt_vqONWS+HMbSLuYc4XR2_g@mail.gmail.com>
On Tue, 25 Jun 2024 15:57:02 -0400
Nicholas Pratte <npratte@iol.unh.edu> wrote:
> The previous comments led me to go on an investigation about how MTUs
> are allocated in testpmd. --max-pkt-len, which the documentation
> states is defaulted to 1518, will shave off 18 bytes to account for
> the 14 byte Ethernet frame and the Dot1Q headers. This is the case
> when using Mellanox, but for both Intel and Broadcom, when explicitly
> setting --max-pkt-len to 1518, the MTU listed on 'show port info' is
> 1492. So there are 26 bytes being shaved off, leaving 8 unknown bytes.
> Does anyone know what these extra 8 bytes are? I wondered if these
> might be VXLAN, FCS or something else, but it might just be easier to
> ask and see if anyone knows; I can't find anything about it in
> documentation.
>
> As far as how this relates to the test suite at hand, the
> send_packet_and_capture() method will need to be reworked to
> compensate for the extra 4 Dot1Q header bytes, but I'm still curious
> about the extra 8 bytes on the Intel and Broadcom devices I've tested
> on; again, these bytes are not present on Mellanox, which is just
> bound to their specific kernel drivers. When I manually set the
> --max-pkt-len to 1518, with the MTU then set to 1492 bytes, packets
> sent to the SUT can only be, including frame size, 1514 bytes in size.
> So I'm looking at the DPDK MTU output plus 22, even when using 'port
> config mtu 0 1500,' for instance, so I'm not sure why 26 bytes is
> subtracted here.
>
> On Fri, Jun 21, 2024 at 7:55 PM Honnappa Nagarahalli
> <Honnappa.Nagarahalli@arm.com> wrote:
> >
> >
> >
> > > On Jun 21, 2024, at 5:18 PM, Stephen Hemminger <stephen@networkplumber.org> wrote:
> > >
> > > On Fri, 21 Jun 2024 17:19:21 -0400
> > > Nicholas Pratte <npratte@iol.unh.edu> wrote:
> > >
> > >> +The test suite ensures the consistency of jumbo frames transmission within
> > >> +Poll Mode Drivers using a series of individual test cases. If a Poll Mode
> > >> +Driver receives a packet that is greater than its assigned MTU length, then
> > >> +that packet will be dropped, and thus not received. Likewise, if a Poll Mode Driver
> > >> +receives a packet that is less than or equal to a its designated MTU length, then the
> > >> +packet should be transmitted by the Poll Mode Driver, completing a cycle within the
> > >> +testbed and getting received by the traffic generator. Thus, the following test suite
> > >> +evaluates the behavior within all possible edge cases, ensuring that a test Poll
> > >> +Mode Driver strictly abides by the above implications.
> > >
> > > There are some weird drivers where MRU and MTU are not the same thing.
> > > I believe the e1000 HW only allowed setting buffer size to a power of 2.
> > > At least on Linux, that meant that with 1500 byte MTU it would receive an up to 2K packet.
> > > This never caused any problem for upper layer protocols, just some picky conformance tests.
> > The test cases should not concern themselves with individual PMD behaviors. They should be based on the API definition.
> >
There is confusion in DPDK about Maximum Transmission Unit (MTU) vs Maximum Receive Unit (MRU).
For almost all things, they are the same thing, but technically there is a difference.
https://swamy2064.wordpress.com/2018/12/01/mtu-and-mru/
next prev parent reply other threads:[~2024-06-25 23:49 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-24 18:36 [RFC PATCH 0/1] Initial Implementation For Jumbo Frames Nicholas Pratte
2024-05-24 18:36 ` [RFC PATCH] Initial Implementation For Jumbo Frames Test Suite Nicholas Pratte
2024-07-26 14:09 ` [RFC PATCH v3 0/2] Initial Implementation For Jumbo Frames Nicholas Pratte
2024-06-21 21:13 ` [RFC PATCH v2 0/1] " Nicholas Pratte
2024-06-21 21:19 ` [RFC PATCH v2] Initial Implementation For Jumbo Frames Test Suite Nicholas Pratte
2024-06-21 22:18 ` Stephen Hemminger
2024-06-21 23:54 ` Honnappa Nagarahalli
2024-06-25 19:57 ` Nicholas Pratte
2024-06-25 21:57 ` Thomas Monjalon
2024-07-01 16:45 ` Nicholas Pratte
2024-06-25 23:49 ` Stephen Hemminger [this message]
2024-07-26 14:13 ` [RFC PATCH v3 0/2] Initial Implementation For Jumbo Frames Nicholas Pratte
2024-07-26 14:13 ` [RFC PATCH v3 1/2] dts: add port config mtu options to testpmd shell Nicholas Pratte
2024-08-02 19:54 ` Jeremy Spewock
2024-08-22 9:14 ` Juraj Linkeš
2024-07-26 14:13 ` [RFC PATCH v3 2/2] dts: Initial Implementation For Jumbo Frames Test Suite Nicholas Pratte
2024-08-02 19:54 ` Jeremy Spewock
2024-08-28 9:52 ` Alex Chapman
2024-08-29 19:04 ` Nicholas Pratte
2024-09-19 15:54 ` [RFC PATCH v3 0/2] Initial Implementation For Jumbo Frames Alex Chapman
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=20240625164950.20a08606@hermes.local \
--to=stephen@networkplumber.org \
--cc=Honnappa.Nagarahalli@arm.com \
--cc=Luca.Vizzarro@arm.com \
--cc=Paul.Szczepanek@arm.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=dmarx@iol.unh.edu \
--cc=jspewock@iol.unh.edu \
--cc=juraj.linkes@pantheon.tech \
--cc=nd@arm.com \
--cc=npratte@iol.unh.edu \
--cc=probb@iol.unh.edu \
--cc=thomas@monjalon.net \
--cc=yoan.picchi@foss.arm.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).