Ethernet Products
Determine ramifications of Intel® Ethernet products and technologies
4855 Discussions

Multi-queue distribution of IP fragments for Intel 82599 10 GbE Controller

pavel_v
Novice
1,283 Views

Hi there,

We have DPDK based application which is going to run on 82599ES 10 GbE Controller. Critical for this application is that all packets with given pair source/destination ip are received/distributed on same queue.
As far as we checked the card with the DPDK application, and also according to the "Intel 82599 10 GbE Controller" datasheet, the NIC supports RSS for IPv4/IPv6 but doesn't support RSS for fragmented IPv4/IPv6. As far as we understand the RSS options, this means that we can not use the RSS to achieve our goal because the IP fragments will be skipped and will go to queue 0. Is this understanding correct?
We thought that we may be able to use the "Flow Director Filters" for our goal but the datasheet says that "Fragmented packets miss all filters".
So, we currently see no option to achieve our goal aside from software distribution of the packets after they are received from the queues.
Is there some way, provided by the NIC, to distribute both fragmented and non-fragmented packets with given pair source/destination ip so that they are received on the same queue?

Regards,
Pavel.

0 Kudos
1 Solution
pavel_v
Novice
1,210 Views

Hi,

The experiment answered my question about the card. It seems to support RSS for IP fragments.
I don't have any additional questions.

Thank you for your support.

Pavel.

View solution in original post

0 Kudos
8 Replies
AlfredoS_Intel
Moderator
1,263 Views

Hi Pavel_v,

Thank you for posting in our Intel® Ethernet Communities Page.

We have a special support site for issues involving DPDK. Please go to this link, https://www.intel.com/content/www/us/en/design/support/ips/training/welcome.html, and click "Access and Log In" to contact the DPDK support.

Please let us know if you have any further questions.

We look forward to hearing from you. If we do not get your reply, we will follow up after 3 business days.



Best Regards,

Alfred S

Intel® Customer Support


0 Kudos
pavel_v
Novice
1,254 Views

Hi,

Thanks for the response.

I was trying to not involve the DPDK part in my question here. I posted the DPDK related question about this in users@dpdk.org.

I was trying to find out if this card actually supports RSS or Flow Director Filters or something else which can help us distribute both fragmented and non-fragmented IP datagrams in a predictable way.
Maybe I missing something in the datasheet for this card but I can't find something that explicitly says that the card supports RSS for IP fragments and in the same time the bits for ETH_RSS_FRAG_IPV4 and ETH_RSS_FRAG_IPV6 are not set and only the bits for ETH_RSS_IPV4 and ETH_RSS_IPV6 are set. Also the docs says that for Flow Director Filters "Fragmented packets miss all filters".

I can not find how to contact the DPDK support after I click on "Access and Log In". Maybe it's somewhere in the "Intel Premiere Support" section but I it seems that my account doesn't have access there.

Regards,
Pavel.

0 Kudos
AlfredoS_Intel
Moderator
1,246 Views

Hi Pavel,

Thank you providing those information.

Please allow us some time to check on this. 

We will get back to you no later than 3 business days from now.



Best Regards,

Alfred S

Intel® Customer Support 


0 Kudos
AlfredoS_Intel
Moderator
1,231 Views

Hi Pavel,

Thank you for your patience in waiting for an update.

Due to the complexity of the issue, please allow us more time to check on your concern. While we are checking, we would like to ask if you have any updates on the DPDK case that you have lodged.

We will try to get back to you with an answer no later than 3 business days from now; although, we will reach out to you in case we need more information or if we already have developments regarding your concern.



Best Regards,

Alfred S

Intel® Customer Support


0 Kudos
pavel_v
Novice
1,228 Views

Hi,

Thanks for the heads-up.
I didn't get any answer to my post in users@dpdk.org.

However, I did the following experiment:
1. At application startup I setup the port to support RSS on IP level only using the following hash function - ETH_RSS_IPV4 | ETH_RSS_IPV6.
2. The port was setup with 4 RX and 4 TX queues.
3. At application startup I read the RSS indirection table from the port via rte_eth_dev_rss_reta_query.
4. For every packet fragmented or not I calculate the RSS hash in the same way the NIC does it using the rte_softrss_be function.
5. For every packet I compared the hardware calculated hash (rte_mbuf.hash.rss field) and the software calculated hash. And they were always the same.
6. For every packet I compared the queue on which the packet was received and the queue I calculated using the software calculated hash and the redirection table from point 2. And they were always the same.
7. I did the test with about 1 000 000 000 received packets and 0.1% of them were IP fragments. This was real traffic from an ISP. For all of them the software calculated hash sums and the queue indexes matched to the hardware reported ones.

From the above experiment I assumed that the card actually supports RSS on IP fragments and it just does't set the ETH_RSS_FRAG_IPV4 and ETH_RSS_FRAG_IPV6 bits in the rte_eth_dev_info.flow_type_rss_offloads. It sets only the ETH_RSS_IPV4 and ETH_RSS_IPV6.
However, it could be that I just don't understand the meaning of the ETH_RSS_FRAG_IPV4 and ETH_RSS_FRAG_IPV4 bits and when they should be set.

Thanks,
Pavel.

0 Kudos
AlfredoS_Intel
Moderator
1,215 Views

Hi Pavel,

Thank you for sharing the results of your experiment.

Your experiment was a brilliant idea and we appreciate your initiative to try it.

Due to this reason, did the results of the experiment answer your question regarding the card or do you have additional questions that you would like us to look into?

We will be waiting for your response. If there is no response, we will check back with you after 3 business days.


Best Regards,

Alfred S

Intel® Customer Support


0 Kudos
pavel_v
Novice
1,211 Views

Hi,

The experiment answered my question about the card. It seems to support RSS for IP fragments.
I don't have any additional questions.

Thank you for your support.

Pavel.

0 Kudos
AlfredoS_Intel
Moderator
1,201 Views

Hi Pavel,

Thank you for your reply

Since you have locked the thread and you do not have any other questions, we will proceed in closing the thread.

If you need any additional information, please submit a new question as this thread will no longer being monitored.


Thank you for contacting Intel® and have a great week!




Best Regards,

Alfred S

Intel® Customer Support


0 Kudos
Reply