Hi Konstantin, On 01/21/2015 05:28 PM, Ananyev, Konstantin wrote: >> 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?
Right. I probably missed something in i40e driver. The application seems to fill the mbuf properly. > I suppose you set L4TUNLEN as described in spec for each case, right? I think so. > 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. Sure, I'm going to send all my code and tests in a RFC patchset in a few minutes. By the way, I'm off tomorrow, I won't be able to answer. Regards, Olivier