On 2/8/2024 6:56 PM, Ajit Khaparde wrote: > On Thu, Feb 8, 2024 at 10:47 AM Ferruh Yigit <ferruh.yi...@amd.com> wrote: >> >> 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, >> > Thanks Ferruh. > >> First two patch looks OK but can you please combine them into single patch? > Sure. Can do. > >> >> 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")' > Ok. Let me check. > >> >> >> 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. > Yes. That's right. I had used the brcm-next-net for that and wanted > to have a driver patch to show usability of the code. > > I think in v2, I will just send the ethdev + testpmd patch >
ack. > and add the driver patch in the PMD list/tree for cherry-pick. > > Thanks > Ajit > >> >> >>> 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(-) >>> >>