Hi all:

At 2023-11-13 21:19:14, "Konstantin Ananyev" <konstantin.ananyev@huawei.com> wrote:
>
>
>>> Now the port Rx mq_mode had been set to RTE_ETH_MQ_RX_RSS
>>> by default, but some hw and/or virtual interface does not
>>> support the RSS and offload mode presupposed, e.g., some
>>> virtio interfaces in the cloud don't support
>>> RSS and the error msg may like:
>>> 
>>> virtio_dev_configure(): RSS support requested but not supported by
>>> the device
>>> Port0 dev_configure = -95
>>> 
>>> So to enable the l3fwd running in that environment, the Rx mode requirement
>>> can be relaxed to reflect the hardware feature reality here, and the l3fwd
>>> can run smoothly then.
>>> 
>>> An option named "relax-rx-mode" is added to enable the relax action
>>> here, and it's disabled by default.
>>> 
>>> Signed-off-by: Trevor Tao <mailto:taozj888@163.com>
>>
>>Doesn't need to be an option. The application can just look at the offload
>>flags and quickly determine that if multiple queues are being used than
>>RSS is required. If device doesn't support RSS, then fallback to single
>>queue with a warning.
>>
>>Hi Stephen:
>>
>>I think the option here was suggested/required by Konstantin Ananyev <mailto:konstantin.v.ananyev@yandex.ru>.
>>The discussion thread is listed below:
>>
>">>>>Should we probably instead have a new commnad-line option to explicitly 
>>>>>disable RSS?
>>>> 
>>>>>Something like: '--no-rss' or so?
>>>> Trevor: the RSS capability for a certain port was got by the rte_eth_dev_info_get() automatically, and we think the user should not care about its status beforehand, but if it's missing, a warning notification for the degrade here would be proposed to make it run smoothly.
>>>
>>>Personally, I still think it would be better the user will
>>>have an ability to disable it explicitly.
>>>Same as l3fwd does now with 'parse-ptype'.
>>>
>>
>>[Morten]: The "relax-rx-mode" does not explicitly disable RSS, it enables the behavior Stephen suggested: If RSS is not supported by the device, fallback to single queue with a warning. We don't need an option >for this; it should be the default behavior.
>>[Morten]: I think Konstantin was asking for an option "no-rss" (or "disable-rss") to force use of single queue (disable RSS), regardless if the device supports RSS or not.
>
>Yes, that what was my initial suggestion: let people explicitly disable RSS if they want to.
>BTW,  I think it wouldn't change number of HW queues in any way.
>It would just disable distribution of packets among HW queues based on RSS.
>Konstantin 
>

Thanks for your comments. I addressed your ideas with a v4 patch series.
1. A new option named "disable-rss" was added to enable the "diable-rss" case;
2. A new option named "relax-rx-offload" was added to enable the relax rx offload case; and the SW IPv4 hdr cksum was added if needed;

Trevor Tao

Trevor Tao