Hi Olivier, > -----Original Message----- > From: Olivier MATZ [mailto:olivier.matz at 6wind.com] > Sent: Wednesday, January 21, 2015 3:25 PM > To: Liu, Jijiang; Ananyev, Konstantin > Cc: dev at 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)
Wow, so there is absolutely no difference in results for L4TUNT=2(GRE) and L4TUNT=0, right? And IP over IP doesn't work at all? I suppose you set L4TUNLEN as described in spec for each case, right? That looks really weird to me and as I can see completely contradicts with what spec. I suppose we'll need to reproduce all that tests on our HW too. Could you send to us a patch with your changes, so we can try same thing? Or just a dump of TDD and TCD values for each case. Konstantin > > 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