Re: [PATCH 0/8] QoS features on i40e
From: Lu, Wenzhuo <hidden>
Date: 2017-02-24 07:23:15
Hi Stephen,
-----Original Message----- From: Stephen Hemminger [mailto:stephen@networkplumber.org] Sent: Friday, February 24, 2017 2:55 PM To: Lu, Wenzhuo Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH 0/8] QoS features on i40e On Fri, 24 Feb 2017 11:24:27 +0800 Wenzhuo Lu [off-list ref] wrote:quoted
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++++++++++++++++++++++++++++quoted
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.