From: "Liu, Jijiang" <jijiang.liu@intel.com>
To: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>,
Olivier MATZ <olivier.matz@6wind.com>,
"Zhang, Helin" <helin.zhang@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v3 0/3] enhance TX checksum command and csum forwarding engine
Date: Mon, 26 Jan 2015 06:02:44 +0000 [thread overview]
Message-ID: <1ED644BD7E0A5F4091CF203DAFB8E4CC01DB6FD2@SHSMSX101.ccr.corp.intel.com> (raw)
In-Reply-To: <2601191342CEEE43887BDE71AB977258213DF71B@irsmsx105.ger.corp.intel.com>
Hi,
> -----Original Message-----
> From: Ananyev, Konstantin
> Sent: Monday, January 26, 2015 12:14 PM
> To: Olivier MATZ; Liu, Jijiang
> Cc: dev@dpdk.org
> Subject: RE: [dpdk-dev] [PATCH v3 0/3] enhance TX checksum command and
> csum forwarding engine
>
> Hi lads,
>
> > -----Original Message-----
> > From: Olivier MATZ [mailto:olivier.matz@6wind.com]
> > Sent: Wednesday, January 21, 2015 3:25 PM
> > To: Liu, Jijiang; Ananyev, Konstantin
> > Cc: dev@dpdk.org
> > Subject: Re: [dpdk-dev] [PATCH v3 0/3] enhance TX checksum command and
> > csum forwarding engine
> >
> > Hi,
> >
> > On 01/21/2015 04:12 AM, Liu, Jijiang wrote:
> > >>>>> Ok, and why it should be our problem?
> > >>>>> We have a lot of things done in a different manner then
> > >>>>> linux/freebsd kernel drivers, Why now it became a problem?
> > >>>>
> > >>>> If linux doesn't need an equivalent flag for doing the same
> > >>>> thing, it probably means we don't need it either.
> > >>>
> > >>> Probably yes .... Or probably not.
> > >>> Why do we need to guess what was the intention of guys who wrote
> > >>> that
> > >> part of linux driver?
> > >>
> > >> Because the dpdk looks very similar to that part of linux driver.
> > >
> > > A guy from Intel who have already confirmed that the NVGRE is not
> supported yet in Linux kernel.
> > >
> > > He said "So far as I know it is not yet supported and I have no information on
> when it will be."
> >
> > I added the support of Ether over GRE, IP over GRE and IP over IP
> > tunnels in csumonly to do the test. I ask the csum forward engine to
> > calculate inner IP+TCP checksums, and outer IP (case 6 in [1]).
> > Here are the results:
> >
> > 1/ When I use I40E_TXD_CTX_UDP_TUNNELING:
> > - vxlan: all checksums ok
> > - eth over gre: all checksums ok
> > - ip over gre: not transmitted by hw
> > - ip over ip: all checksums wrong (set to 0 by hw)
> >
> > 2/ When I use I40E_TXD_CTX_GRE_TUNNELING:
> > - vxlan: checksums ok
> > - eth over gre: all checksums ok
> > - ip over gre: all checksums ok
> > - ip over ip: all checksums wrong (set to 0 by hw)
> >
> > 3/ When I use 00b:
> > - vxlan: all checksums ok
> > - eth over gre: all checksums ok
> > - ip over gre: all checksums ok
> > - ip over ip: checksums wrong (set to 0 by hw)
> >
> > All the ip over ip tests do not work yet for an unknown reason.
> > There is maybe something wrong in my app or in the driver (although
> > the registers looks consistent with the datasheet).
> >
> > I think we could use 3/ for all tunnels, because the ipip case is
> > supposed to work according to the datasheet, and all other cases work
> > too.
> >
> > It would allow to remove the UDP_TUNNELING flag from mbuf API.
> >
> > I will send a RFC patch that provides the API change and this new
> > feature in csum forward engine, with full tests on ixgbe and i40e and
> > explanations for all changes.
> >
> > Regards,
> > Olivier
> >
> > [1] http://dpdk.org/ml/archives/dev/2015-January/011127.html
>
> I tried to repeat Olivier test-cases on my box.
> Though, I didn't use test-pmd cusmonly and i40ePMD logic, but filled TCD and
> TDD mostly from hardcoded values.
> That's what I got:
>
> 4 input packets:
> a) ETHER/IPv4/UDP/VXLAN/ETHER/IPV4/TCP
> b) ETHER/IPv4/GRE/ETHER/IPV4/TCP
> c) ETHER/IPv4/GRE/IPV4/TCP
> d) ETHER/IPv4/IPV4/TCP
>
> 1/ L4TUNT==1(I40E_TXD_CTX_UDP_TUNNELING):
> a),b): all checksums ok
> c),d): not transmitted by HW.
>
> 2/ L4TUNT==2(I40E_TXD_CTX_GRE_TUNNELING):
> a) b),c): all checksums ok
> d): not transmitted by HW.
>
> 3/ L4TUNT==0(UNKNOWN):
> a),b),c),d): all checksums ok
>
> So yes, it seems that L4TUNT==0 works perfectly ok for all cases, as long as
> L4TUNLEN and other TCD values are setup properly.
> Which makes me think, that probably we can do what you suggested: just use
> L4TUNT=0 for all cases.
> Though as Jijiang said, we waiting for confirmation from FVL guys, that there are
> no hidden implications with that approach.
Yes, the L4TUNT=0 is ok for all cases.
But we still need to get confirmation from FVL guys, probably there are some issues in HW/FW.
I and Helin will confirm this with FVL guys ASAP.
> Another thing - IPIP seems to work ok by HW.
> There is something wrong on our (PMD/test-pmd) side.
> I think at least we have to remove the following check:
> if (!l2_len) {
> PMD_DRV_LOG(DEBUG, "L2 length set to 0");
> return;
> }
> in i40e_txd_enable_checksum().
Yes, for IPIP, the check should be removed.
> Konstantin
next prev parent reply other threads:[~2015-01-26 6:03 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-10 1:03 Jijiang Liu
2014-12-10 1:03 ` [dpdk-dev] [PATCH v3 1/3] librte_ether:add outer IP offload capability flag Jijiang Liu
2014-12-11 10:33 ` Olivier MATZ
2014-12-10 1:03 ` [dpdk-dev] [PATCH v3 2/3] i40e:support outer IPv4 checksum capability Jijiang Liu
2014-12-11 10:34 ` Olivier MATZ
2014-12-10 1:03 ` [dpdk-dev] [PATCH v3 3/3] app/testpmd:change tx_checksum command and csum forwarding engine Jijiang Liu
2014-12-11 10:52 ` Olivier MATZ
2014-12-12 4:06 ` Liu, Jijiang
2014-12-11 10:17 ` [dpdk-dev] [PATCH v3 0/3] enhance TX checksum " Olivier MATZ
2014-12-12 3:48 ` Liu, Jijiang
2014-12-12 16:33 ` Olivier MATZ
2015-01-07 2:03 ` Liu, Jijiang
2015-01-07 9:59 ` Ananyev, Konstantin
2015-01-07 11:39 ` Liu, Jijiang
2015-01-07 12:07 ` Ananyev, Konstantin
2015-01-08 8:51 ` Liu, Jijiang
2015-01-08 10:54 ` Ananyev, Konstantin
2015-01-09 10:45 ` Olivier MATZ
2015-01-12 3:41 ` Liu, Jijiang
2015-01-12 11:43 ` Olivier MATZ
2015-01-13 3:04 ` Liu, Jijiang
2015-01-13 9:55 ` Olivier MATZ
2015-01-14 3:01 ` Liu, Jijiang
2015-01-15 13:31 ` Ananyev, Konstantin
2015-01-16 17:27 ` Olivier MATZ
2015-01-19 13:04 ` Ananyev, Konstantin
2015-01-19 14:38 ` Olivier MATZ
2015-01-20 1:12 ` Ananyev, Konstantin
2015-01-20 12:39 ` Olivier MATZ
2015-01-20 15:18 ` Thomas Monjalon
2015-01-20 17:10 ` Stephen Hemminger
2015-01-20 17:23 ` Ananyev, Konstantin
2015-01-20 18:15 ` Olivier MATZ
2015-01-21 3:12 ` Liu, Jijiang
2015-01-21 15:25 ` Olivier MATZ
2015-01-21 16:28 ` Ananyev, Konstantin
2015-01-21 17:13 ` Olivier MATZ
2015-01-26 4:13 ` Ananyev, Konstantin
2015-01-26 6:02 ` Liu, Jijiang [this message]
2015-01-26 14:07 ` Olivier MATZ
2015-01-26 14:15 ` Ananyev, Konstantin
2015-01-27 8:34 ` Olivier MATZ
2015-01-27 15:26 ` Ananyev, Konstantin
2015-01-21 19:44 ` Stephen Hemminger
2015-01-22 1:40 ` Liu, Jijiang
2015-01-21 8:01 ` Liu, Jijiang
2015-01-21 9:10 ` Olivier MATZ
2015-01-21 11:52 ` Ananyev, Konstantin
2015-01-07 13:06 ` Qiu, Michael
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1ED644BD7E0A5F4091CF203DAFB8E4CC01DB6FD2@SHSMSX101.ccr.corp.intel.com \
--to=jijiang.liu@intel.com \
--cc=dev@dpdk.org \
--cc=helin.zhang@intel.com \
--cc=konstantin.ananyev@intel.com \
--cc=olivier.matz@6wind.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).