<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Hello Igor,</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
I'm checking what solution can fit your requirements.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Regards,</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Gregory</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Igor Gutorov <igootorov@gmail.com><br>
<b>Sent:</b> Tuesday, October 1, 2024 02:50<br>
<b>To:</b> Gregory Etelson <getelson@nvidia.com><br>
<b>Cc:</b> Bing Zhao <bingz@nvidia.com>; Dariusz Sosnowski <dsosnowski@nvidia.com>; Matan Azrad <matan@nvidia.com>; Ori Kam <orika@nvidia.com>; Suanming Mou <suanmingm@nvidia.com>; users@dpdk.org <users@dpdk.org>; Slava Ovsiienko <viacheslavo@nvidia.com><br>
<b>Subject:</b> Re: net/mlx5 RTE_ETH_RSS_SCTP support</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">External email: Use caution opening links or attachments<br>
<br>
<br>
Hello,<br>
<br>
On Sun, Sep 29, 2024 at 12:18 PM Gregory Etelson <getelson@nvidia.com> wrote:<br>
><br>
> Hello,<br>
><br>
> > I'm wondering about SCTP RSS support in MLX5 NICs.<br>
> > testpmd does not show ipv4-sctp or ipv6-sctp as supported<br>
><br>
> MLX5 hardware does not offload SCTP RSS.<br>
><br>
> Regards,<br>
> Gregory<br>
<br>
Thank you for the response!<br>
That is unfortunate.<br>
<br>
Do you think it is possible to achieve something similar to RSS<br>
offload using the flow engine?<br>
<br>
Let me share a bit more about what I'm trying to do. I have a DPDK<br>
application that I want to add SCTP deduplication to.<br>
One of the challenges is that duplicated packets might have different<br>
IP addresses, but identical SCTP layers, causing these duplicates to<br>
be steered to different Rx queues (and hence different threads) by the<br>
default IP RSS offload.<br>
<br>
So, I thought I had few options here:<br>
- disable RSS (not really an option, unfortunately)<br>
- software based (computing RSS hash in software and software steering<br>
the packets, or using global lock-free deduplication tables, or so on)<br>
- hardware based, where RSS would be performed on SCTP ports only,<br>
causing the duplicated packets to be steered to the same Rx queues.<br>
This would allow the usage of per thread deduplication tables and<br>
eliminate some overhead from the software based approach.<br>
<br>
Since SCTP RSS offload is not supported, do you think it is possible<br>
to "bypass" this limitation? One idea I had is something along these<br>
lines:<br>
- Build an eth / ipv4  pattern. Where the IP item has the proto_id<br>
field unmasked and set to SCTP. This, I'm assuming, effectively<br>
matches SCTP traffic.<br>
- Build a RAW item for each SCTP src and dst port combination.<br>
- Add QUEUE actions to these patterns  (with different queues for<br>
different src-dst port combinations in the RAW items).<br>
<br>
That would be 2^32 flow rules, which I'd guess the hardware wouldn't<br>
accept that many (haven't checked what the limit is yet).<br>
The number of rules could be then reduced by masking some bits in the RAW item.<br>
<br>
All of this sounds a bit ridiculous to be honest, but nevertheless, do<br>
you think this is viable? Any similar ideas / improvements? Perhaps,<br>
is there any chance it is possible to perform RSS on flex items?<br>
<br>
Sincerely,<br>
Igor.<br>
</div>
</span></font></div>
</body>
</html>