From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ie0-x22a.google.com (mail-ie0-x22a.google.com [IPv6:2607:f8b0:4001:c03::22a]) by dpdk.org (Postfix) with ESMTP id 5B13A9DE for ; Fri, 6 Dec 2013 03:15:32 +0100 (CET) Received: by mail-ie0-f170.google.com with SMTP id qd12so164492ieb.1 for ; Thu, 05 Dec 2013 18:16:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=p+byNnpG4cfi7bRLGIbOq/12xSRVa2NfMS12xuPSgbk=; b=gzRX8XjplIdFLi4B9HawRhuXT6bVBlI4hkEvVViPAjsNXJuejkWRkuA5F74dTZWWMT 2Jw2CQnzrJ4noxg5RzXZGj0Cv/7AtwwX0+q5qleLvgmMd9+8O3kTIkGsH1K9igvy1lkb PdLZJlBEtLnBsQ09tCLvYgC8O1KHt3G/IbwC6A7Y4OCnNLxZf1vZN38WP/C+XXYMN1bL EUv/wS4j7jr4IG0Y7KojFVRqRb3Anx0+eijXfl8nZ+QbNqy3c/lhbANbtOYw0Eo7K7UH xy2A3qQG8o+YJR6CX6RdS+n02smfJOqhpSbvxxkToIEGI94HCSyjSL6LGvkkJYqxvW2b EMAw== MIME-Version: 1.0 X-Received: by 10.50.143.10 with SMTP id sa10mr298842igb.8.1386296194993; Thu, 05 Dec 2013 18:16:34 -0800 (PST) Received: by 10.64.128.105 with HTTP; Thu, 5 Dec 2013 18:16:34 -0800 (PST) In-Reply-To: <201312051721.51070.thomas.monjalon@6wind.com> References: <201312051721.51070.thomas.monjalon@6wind.com> Date: Fri, 6 Dec 2013 10:16:34 +0800 Message-ID: From: =?GB2312?B?zuLRx7ar?= To: Thomas Monjalon Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Cc: dev@dpdk.org Subject: Re: [dpdk-dev] generic load balancing X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Dec 2013 02:15:32 -0000 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 > 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 >