[dpdk-dev] [PATCH 0/8] QoS features on i40e

Lu, Wenzhuo wenzhuo.lu at intel.com
Fri Feb 24 08:23:12 CET 2017


Hi Stephen,

> -----Original Message-----
> From: Stephen Hemminger [mailto:stephen at networkplumber.org]
> Sent: Friday, February 24, 2017 2:55 PM
> To: Lu, Wenzhuo
> Cc: dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH 0/8] QoS features on i40e
> 
> On Fri, 24 Feb 2017 11:24:27 +0800
> Wenzhuo Lu <wenzhuo.lu at intel.com> wrote:
> 
> > This patch set enables several QoS features on i40e.
> > 1, VF max bandwidth setting.
> > 2, TC min bandwidth setting on a VF.
> > 3, TC max bandwidth setting on a VF.
> > 4, TC TX scheduling mode setting.
> > As there're no new interface between PF and VF defined, all the
> > settings for VF are done on PF. PF acts as a controller for the VFs.
> >
> > Wenzhuo Lu (8):
> >   net/i40e: set VF max bandwidth from PF
> >   net/i40e: allocate VF TC bandwidth from PF
> >   net/i40e: set VF TC max bandwidth from PF
> >   net/i40e: set TC strict priority mode
> >   app/testpmd: set VF TX max bandwidth
> >   app/testpmd: set VF TC TX min bandwidth
> >   app/testpmd: set VF TC TX max bandwidth
> >   app/testpmd: set TC strict link priority mode
> >
> >  app/test-pmd/cmdline.c                      | 343 +++++++++++++++++++++
> >  doc/guides/nics/i40e.rst                    |  21 ++
> >  doc/guides/rel_notes/release_17_05.rst      |  20 ++
> >  doc/guides/testpmd_app_ug/testpmd_funcs.rst |  28 ++
> >  drivers/net/i40e/i40e_ethdev.c              | 449
> ++++++++++++++++++++++++++++
> >  drivers/net/i40e/i40e_ethdev.h              |   1 +
> >  drivers/net/i40e/rte_pmd_i40e.h             |  86 ++++++
> >  drivers/net/i40e/rte_pmd_i40e_version.map   |  10 +
> >  8 files changed, 958 insertions(+)
> >
> 
> It is good to allow setting QoS on device, but it looks like this is a device
> specific API, not a generic PMD function. I don't think any feature in DPDK
> should be hardcoded to one device type.
Yes, they're private APIs.
Normally we want to support kernel PF + dpdk VF. As there's no PF - VF interface defined for QoS, These features cannot be implemented on VF now.
Have to put them on PF, and let PF play as a controller.
There's discussion about if we should rich PF host features. So, I put these functions to rte_pmd_i40e.h to show they're experimental and temporary features.

There's another thread started by Cristian for a generic QoS solution. After it's accepted and the PF-VF interfaces are defined by kernel driver. We can use a generic solution to replace this one.


More information about the dev mailing list