On 01/07/15 08:32, Ouyang Changchun wrote: > This patch enables VF RSS for Niantic, which allow each VF having at most 4 > queues. > The actual queue number per VF depends on the total number of pool, which is > determined by the max number of VF at PF initialization stage and the number > of > queue specified in config: > 1) If the max number of VF is in the range from 1 to 32, and the number of > rxq is 4 > ('--rxq 4' in testpmd), then there is totally 32 pools(ETH_32_POOLS), and > each VF > have 4 queues; > > 2)If the max number of VF is in the range from 33 to 64, and the number of > rxq is 2 > ('--rxq 2' in testpmd), then there is totally 64 pools(ETH_64_POOLS), and > each VF > have 2 queues; > > On host, to enable VF RSS functionality, rx mq mode should be set as > ETH_MQ_RX_VMDQ_RSS > or ETH_MQ_RX_RSS mode, and SRIOV mode should be activated(max_vfs >= 1). > It also needs config VF RSS information like hash function, RSS key, RSS key > length. > > The limitation for Niantic VF RSS is: > the hash and key are shared among PF and all VF, the RETA table with 128 > entries are > also shared among PF and all VF. So it could not to provide a method to query > the hash > and reta content per VF on guest, while, if possible, please query them on > host(PF) for > the shared RETA information.
I've acked PATCH1 and PATCH2 already before and since there are no changes in them, pls., consider them ACKed... ;) > > changes in v5: > - Fix minor issue and some comments; > > changes in v4: > - Extract a function to remove embeded switch-case statement; > - Check whether RX queue number is a valid one, otherwise return error; > - Update the description a bit; > > changes in v3: > - More cleanup; > > changes in v2: > - Update the description; > - Use receiving queue number('--rxq <q-num>') specified in config to > determine the > number of pool and the number of queue per VF; > > changes in v1: > - Config VF RSS; > > Changchun Ouyang (6): > ixgbe: Code cleanup > ixgbe: Negotiate VF API version > ixgbe: Get VF queue number > ether: Check VMDq RSS mode > ixgbe: Config VF RSS > testpmd: Set Rx VMDq RSS mode > > app/test-pmd/testpmd.c | 15 +++- > lib/librte_ether/rte_ethdev.c | 50 +++++++++++-- > lib/librte_pmd_ixgbe/ixgbe_ethdev.h | 1 + > lib/librte_pmd_ixgbe/ixgbe_pf.c | 80 ++++++++++++++++++++- > lib/librte_pmd_ixgbe/ixgbe_rxtx.c | 138 > ++++++++++++++++++++++++++++-------- > 5 files changed, 248 insertions(+), 36 deletions(-) >