[dpdk-dev] generic load balancing

Prashant Upadhyaya prashant.upadhyaya at aricent.com
Fri Dec 6 05:03:32 CET 2013


Hi,

Regarding this point ¨C

If intel supports round robin distribution of packets in the same flow, Intel needs to provide some way like Cavium's SSO(tag switch) to maintain packet order in the same flow. And it is hard to do so because intel's cpu and nic are decoupled

My main submission is ¨C I understand there are issues like the above and ooo stuff you pointed out.
But that is for the usecase implementer to solve in software logic. The equivalent of tag switch can be attempted to be developed in the software if the usecase so desires.
But atleast ¡®give¡¯ the facility in the NIC to fan out on round robin on queues.
Somehow we are trying to find out reasons why we should not have it.
I am saying, give it in the NIC and let people use it in innovative ways. People who don¡¯t want to use it can always have the choice to not use it.

Regards
-Prashant


From: ÎâÑǶ« [mailto:ydwoo0722 at gmail.com]
Sent: Friday, December 06, 2013 7:47 AM
To: Thomas Monjalon
Cc: Michael Quicquaro; Prashant Upadhyaya; dev at dpdk.org
Subject: Re: [dpdk-dev] generic load balancing

RSS is a way to distribute packets to multi cores while packets order in the same flow still get maintained.

Round robin distribution of packets may cause ooo(out of order) of packets in the same flow.
We also meet this problem in ipsec vpn case.
The tunneled packets are rss to the same queue if they are on the same tunnel.
But if we dispatch the packets to the other cores to process, ooo packets may occur and tcp performance may be greatly hurt.

If you enable rss on udp packets and some udp packets are ip fragmented, rss of udp fragments(hash only calculated from ip addr) may be different fom rss of udp non-fragment packets(hash with information of udp ports), ooo may occur too.
So in kernel driver disables udp rss by default.

If intel supports round robin distribution of packets in the same flow, Intel needs to provide some way like Cavium's SSO(tag switch) to maintain packet order in the same flow. And it is hard to do so because intel's cpu and nic are decoupled.




2013/12/6 Thomas Monjalon <thomas.monjalon at 6wind.com<mailto:thomas.monjalon at 6wind.com>>
Hello,

05/12/2013 16:42, Michael Quicquaro :
> This is a good discussion and I hope Intel can see and benefit from it.
Don't forget that this project is Open Source.
So you can submit your patches for review.

Thanks for participating
--
Thomas





===============================================================================
Please refer to http://www.aricent.com/legal/email_disclaimer.html
for important disclosures regarding this electronic communication.
===============================================================================


More information about the dev mailing list