[RFC PATCH 0/6] ethdev: refactor and extend DCB configuration API
Vladimir Medvedkin
medvedkinv at gmail.com
Sun Aug 31 16:55:45 CEST 2025
Hi Ivan,
Thanks for your comments, please see my comments inline below.
сб, 30 авг. 2025 г. в 22:14, Ivan Malov <ivan.malov at arknetworks.am>:
> Hi Vladimir,
>
> On Sat, 30 Aug 2025, Vladimir Medvedkin wrote:
>
> > Hi all,
> >
> > This series reworks the ethdev API related to advanced queueing
> configuration,
> > specifically Data Center Bridging (DCB) and Virtual Machine Device Queues
> > (VMDq). The existing API was designed years ago around ixgbe hardware
> > assumptions, which makes it difficult to properly support modern NICs
> and their
> > more flexible capabilities.
> >
>
> I like this overall.
>
> The series seems to be a good rework, but the PMD changes are going to be
> vast.
> Also, given the fact it targets the same release cycle as some new drivers
> do,
> it can be problematic to apply 'rx_adv_conf.mq_mode' to, say, [1] on the
> go.
>
> [1] https://mails.dpdk.org/archives/dev/2025-August/323562.html
Yes, I see, some patches in the series may be postponed for later, if
necessary.
>
>
>
> Also, now we've touched on the topic of traffic classes and priorities, if
> I may
> be so bold as to ask an unrelated question about [2]. Does the priority
> value
> have to come specifically from VLAN header? Or can it come, say, from ToS
> of
> IPv4, or Traffic Class of IPv6, or from some vendor-specific header?
>
> [2]
> https://doc.dpdk.org/api-25.07/structrte__eth__pfc__conf.html#a0ad043071ccc7a261d79a759dc9c6f0c
>
>
That's a good question. The short answer is yes, at the moment, but it won't
be 100% true in the future.
For example, Intel E800 Series network adapters can operate in two modes,
depending on how HW classifies incoming packets into their respective
traffic classes. One of the modes uses a 3-bit PCP VLAN field, and this is
the default mode. Another mode is to use the 6-bit DSCP, which is supported
by E800 NICs, but is not currently enabled. In DSCP mode, HW maintains one
additional DSCP-to-UP mapping table to translate incoming packets to
intermediate UP, and then uses a usual UP-to-TC mapping table (ref. to the
E810 datasheet 8.2.1.3.1.2 Packet CoS Classification Flow in “DSCP PFC” Mode).
Also please note that the PFC PAUSE frames carry per-priority pause quanta
for 8 priorities, and those priorities usually correspond to VLAN PCP.
Regarding vendor-specific headers, I'm not aware of any vendor that supports
this. Although this is theoretically possible, keep in mind that the HW
block responsible for TC classification should usually be located somewhere
at the very beginning of the Rx pipeline, there are strict performance
limitations for it, so most likely its implementation will be as simple as
possible.
> Thank you.
>
--
Regards,
Vladimir
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mails.dpdk.org/archives/dev/attachments/20250831/8b441084/attachment.htm>
More information about the dev
mailing list