From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.droids-corp.org (zoll.droids-corp.org [94.23.50.67]) by dpdk.org (Postfix) with ESMTP id 407657F00 for ; Mon, 1 Dec 2014 13:28:34 +0100 (CET) Received: from was59-1-82-226-113-214.fbx.proxad.net ([82.226.113.214] helo=[192.168.0.10]) by mail.droids-corp.org with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1XvQ8l-0006am-SE; Mon, 01 Dec 2014 13:31:46 +0100 Message-ID: <547C5EE7.1060100@6wind.com> Date: Mon, 01 Dec 2014 13:28:23 +0100 From: Olivier MATZ User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.5.0 MIME-Version: 1.0 To: "Ananyev, Konstantin" , "Liu, Jijiang" References: <1417076319-629-1-git-send-email-jijiang.liu@intel.com> <1417076319-629-2-git-send-email-jijiang.liu@intel.com> <5476F626.2020708@6wind.com> <1ED644BD7E0A5F4091CF203DAFB8E4CC01D9EEA0@SHSMSX101.ccr.corp.intel.com> <2601191342CEEE43887BDE71AB977258213BADB8@IRSMSX105.ger.corp.intel.com> <2601191342CEEE43887BDE71AB977258213BAE90@IRSMSX105.ger.corp.intel.com> <54785264.1020208@6wind.com> <2601191342CEEE43887BDE71AB977258213BB795@IRSMSX105.ger.corp.intel.com> <1ED644BD7E0A5F4091CF203DAFB8E4CC01D9F58E@SHSMSX101.ccr.corp.intel.com> <547C3A43.8020009@6wind.com> <2601191342CEEE43887BDE71AB977258213BBB21@IRSMSX105.ger.corp.intel.com> In-Reply-To: <2601191342CEEE43887BDE71AB977258213BBB21@IRSMSX105.ger.corp.intel.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] [PATCH 1/3] mbuf:add two TX offload flags and change three fields 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: Mon, 01 Dec 2014 12:28:34 -0000 Hi Konstantin, On 12/01/2014 12:58 PM, Ananyev, Konstantin wrote: >> Ether/IP/UDP/vxlan/Ether/IP/UDP/xxx >> m->outer_l2_len = sizeof(ether) >> m->outer_l3_len = sizeof(ip) >> m->l2_len = sizeof(udp) + sizeof(vxlan) + sizeof(ether) > > I think it should be: > m->l2_len = sizeof(vxlan) + sizeof(ether) > > We don't need to add sizeof(udp) as we already say to the HW that I t will be UDP TUNNELING vi the ol_flag: PKT_TX_UDP_TUNNEL_PKT. > >> m->l3_len = sizeof(ip) >> m->l4_len = sizeof(udp) I would agree if we had a m->outer_l4_len. Maybe we should add it to be coherent with lX_len fields? I think that to process the inner IP checksum, we should be able to use these 2 notations: Ether/IP/GRE/IP/UDP/xxx m->flags = OUTER_IP_CKSUM m->outer_l2_len = sizeof(ether) m->outer_l3_len = sizeof(ip) m->l2_len = sizeof(gre) m->l3_len = sizeof(ip) m->l4_len = sizeof(udp) Ether/IP/GRE/IP/UDP/xxx m->flags = IP_CKSUM /* sum of all outer_lX_len and l2_len from above: */ m->l2_len = sizeof(ether) + sizeof(ip) + sizeof(gre) m->l3_len = sizeof(ip) m->l4_len = sizeof(udp) So, in case of vxlan, I suggest that either we include the size of UDP in l2_len, or we add a outer_l4_len. What do you think? Maybe adding outer_l4_len makes more sense. Regards, Olivier