On 2/8/2024 5:43 AM, Ajit Khaparde wrote:
> The use of 5-tuple of the source address, destination address,
> source port, destination port, and the transport protocol type
> may not be possible due to IP fragmentation, encryption, or
> inability to parse past IPv6 extensions headers.
> 
> Flow label values can be chosen such that they can be
> used as part of the input to a hash function used in a load
> distribution scheme.
> 
> On supporting hardware, the 20-bit Flow Label field in the
> IPv6 header can be used to perform RSS in the ingress path.
> 
> Please apply.
> 
Hi Ajit,

First two patch looks OK but can you please combine them into single patch?

There are two ways for RSS, config APIs and rte_flow based support,
testpmd patch only adds flow based support, I don't know if old method
support is required, but if you want to add you can check following sample:
'Commit 46914aa1c793 ("ethdev: add eCPRI RSS offload type")'


Third patch, bnxt one, doesn't apply. It looks like it is on top of
different source code, if you prefer you can make it another patch and
get your tree.


> Example to configure IPv6 flow label based RSS:
> 
> flow create 0 ingress pattern eth / ipv6 / tcp / end actions rss types 
> ipv6-flow-label end / end
> 
> Ajit Khaparde (3):
>   ethdev: add support for RSS based on IPv6 flow label
>   app/testpmd: add IPv6 flow label to RSS types
>   net/bnxt: add IPv6 flow label based RSS support
> 
>  app/test-pmd/config.c          | 1 +
>  drivers/net/bnxt/bnxt.h        | 1 +
>  drivers/net/bnxt/bnxt_ethdev.c | 2 ++
>  drivers/net/bnxt/bnxt_hwrm.c   | 7 +++++++
>  drivers/net/bnxt/bnxt_vnic.c   | 9 +++++++--
>  lib/ethdev/rte_ethdev.h        | 1 +
>  6 files changed, 19 insertions(+), 2 deletions(-)
> 

Reply via email to