Hello Igor, I'm checking what solution can fit your requirements. Regards, Gregory ________________________________ From: Igor Gutorov Sent: Tuesday, October 1, 2024 02:50 To: Gregory Etelson Cc: Bing Zhao ; Dariusz Sosnowski ; Matan Azrad ; Ori Kam ; Suanming Mou ; users@dpdk.org ; Slava Ovsiienko Subject: Re: net/mlx5 RTE_ETH_RSS_SCTP support External email: Use caution opening links or attachments Hello, On Sun, Sep 29, 2024 at 12:18 PM Gregory Etelson wrote: > > Hello, > > > I'm wondering about SCTP RSS support in MLX5 NICs. > > testpmd does not show ipv4-sctp or ipv6-sctp as supported > > MLX5 hardware does not offload SCTP RSS. > > Regards, > Gregory Thank you for the response! That is unfortunate. Do you think it is possible to achieve something similar to RSS offload using the flow engine? Let me share a bit more about what I'm trying to do. I have a DPDK application that I want to add SCTP deduplication to. One of the challenges is that duplicated packets might have different IP addresses, but identical SCTP layers, causing these duplicates to be steered to different Rx queues (and hence different threads) by the default IP RSS offload. So, I thought I had few options here: - disable RSS (not really an option, unfortunately) - software based (computing RSS hash in software and software steering the packets, or using global lock-free deduplication tables, or so on) - hardware based, where RSS would be performed on SCTP ports only, causing the duplicated packets to be steered to the same Rx queues. This would allow the usage of per thread deduplication tables and eliminate some overhead from the software based approach. Since SCTP RSS offload is not supported, do you think it is possible to "bypass" this limitation? One idea I had is something along these lines: - Build an eth / ipv4 pattern. Where the IP item has the proto_id field unmasked and set to SCTP. This, I'm assuming, effectively matches SCTP traffic. - Build a RAW item for each SCTP src and dst port combination. - Add QUEUE actions to these patterns (with different queues for different src-dst port combinations in the RAW items). That would be 2^32 flow rules, which I'd guess the hardware wouldn't accept that many (haven't checked what the limit is yet). The number of rules could be then reduced by masking some bits in the RAW item. All of this sounds a bit ridiculous to be honest, but nevertheless, do you think this is viable? Any similar ideas / improvements? Perhaps, is there any chance it is possible to perform RSS on flex items? Sincerely, Igor.