DPDK patches and discussions
 help / color / mirror / Atom feed
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

  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).