On Thu, Oct 10, 2019 at 10:14 AM Andrew Rybchenko <arybche...@solarflare.com> wrote: > > On 10/10/19 10:42 AM, Thomas Monjalon wrote: > > 09/10/2019 13:24, Andrew Rybchenko: > >> On 10/9/19 1:41 PM, Tiwei Bie wrote: > >>> My understanding is that, setting mq_mode to ETH_MQ_RX_NONE means > >>> no method is enforced on how to route packets to MQs. > >> I'm not sure. It is definitely a place to be improved in > >> ethdev documentation. Thomas, Ferruh, what do you think? > >> Is it really a definition of ETH_MQ_RX_NONE? > > I think it means everything go to queue 0. > > I understand it this way as well. > > > The comment says no DCB, RSS or VMDQ. > > It looks like the "NONE" value has been abused for some custom steering. > > We have two options: > > - document NONE as a possible case of custom steering > > - add a new CUSTOM value > > I'd prefer to say that ETH_MQ_RX_RSS with rss_hf equal to 0 means > unspecified/unknown steering. If application just want to spread > traffic across many Rx queues, it is natural choice to say that > it want RSS, but do not care about spreading algorithm etc. > It allows driver use recommended defaults if rss_hf is controllable, > or just spread in virtio case.
RSS is about maintaining affinity of a "flow" (as in packets sharing the same l3/l4 tuples) to a specific queue. Here, we can have packets from a same flow on any queue depending on what happened on the vhost side. I prefer we describe this behavior as something else than RSS. -- David Marchand