> 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.
This kind of information should go in a documentation. I think we should start new documentation for PMDs. What about a doc/drivers/ directory ? > changes in v6: > - refine codes and update message according to comments; > > 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 Deeply reviewed by Vlad Zolotarov. Thanks! Applied Thanks to both of you -- Thomas