lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <51DE18E1.304@gmail.com>
Date:	Wed, 10 Jul 2013 19:30:57 -0700
From:	Alexander Duyck <alexander.duyck@...il.com>
To:	Eric Dumazet <eric.dumazet@...il.com>
CC:	Alexander Duyck <alexander.h.duyck@...el.com>,
	Dmitry Kravkov <dmitry@...adcom.com>, netdev@...r.kernel.org,
	stephen@...workplumber.org, pshelar@...ira.com,
	joseph.gasparakis@...el.com, jesse@...ira.com,
	Eilon Greenstein <eilong@...adcom.com>
Subject: Re: [PATCH net v2] gso: Update tunnel segmentation to support Tx
 checksum offload

On 07/10/2013 06:43 PM, Eric Dumazet wrote:
> On Wed, 2013-07-10 at 17:42 -0700, Eric Dumazet wrote:
>> On Wed, 2013-07-10 at 17:05 -0700, Alexander Duyck wrote:
>>> This change makes it so that the GRE and VXLAN tunnels can make use of Tx
>>> checksum offload support provided by some drivers via the hw_enc_features.
>>> Without this fix enabling GSO means sacrificing Tx checksum offload and
>>> this actually leads to a performance regression as shown below:
>>>
>>>             Utilization
>>>             Send
>>> Throughput  local         GSO
>>> 10^6bits/s  % S           state
>>>   6276.51   8.39          enabled
>>>   7123.52   8.42          disabled
>> While testing your patch, I discovered TSO support is completely broken
>> on GRE, using bnx2x testbed.
>>
>> Oh well.
>>
>> It seems Nicira guys do not test a lot their patches.
>>

I think part of the problem is that there aren't really many devices
that support any hardware offloads at this point.  Thus, in the case of
GSO, it wasn't really easy to notice the issue if you don't have a
device capable of doing the offloads.  I may look at seeing if we can
push a patch I had for enabling Tx encapsulated checksum offload for
ixgbe and maybe igb as at least that way we have a common platform to do
some testing with.

> Receiver receives corrupted frames : IpExtInCsumErrors is increasing
>
> The outer checksum is not correct.
>
> Maybe Dmitry has an idea of what is going on ?
>
> 18:36:06.085164 IP (tos 0x0, ttl  64, id 48051, offset 0, flags [DF],
> proto: GRE (47), length: 1500, bad cksum 3fad (->40ad)!) 10.246.17.83 >
> 10.246.17.84: GREv0, Flags [none], length 1480
> 	IP (tos 0x0, ttl  64, id 48051, offset 0, flags [DF], proto: TCP (6),
> length: 1476) 7.7.8.83.52523 > 7.7.8.84.48165: ., cksum 0x88b9
> (correct), 1:1425(1424) ack 1 win 449 <nop,nop,timestamp 1901210
> 83620016>
>
> 18:36:06.085165 IP (tos 0x0, ttl  64, id 48051, offset 0, flags [DF],
> proto: GRE (47), length: 1500, bad cksum 3fad (->40ad)!) 10.246.17.83 >
> 10.246.17.84: GREv0, Flags [none], length 1480
> 	IP (tos 0x0, ttl  64, id 48052, offset 0, flags [DF], proto: TCP (6),
> length: 1476) 7.7.8.83.52523 > 7.7.8.84.48165: ., cksum 0x8329
> (correct), 1425:2849(1424) ack 1 win 449 <nop,nop,timestamp 1901210
> 83620016>
>
> 18:36:06.085166 IP (tos 0x0, ttl  64, id 48051, offset 0, flags [DF],
> proto: GRE (47), length: 1500, bad cksum 3fad (->40ad)!) 10.246.17.83 >
> 10.246.17.84: GREv0, Flags [none], length 1480
> 	IP (tos 0x0, ttl  64, id 48053, offset 0, flags [DF], proto: TCP (6),
> length: 1476) 7.7.8.83.52523 > 7.7.8.84.48165: ., cksum 0x7d99
> (correct), 2849:4273(1424) ack 1 win 449 <nop,nop,timestamp 1901210
> 83620016>

It was my understanding that the code for enabling TSO for encapsulated
frames was good as Joseph has been working on it and testing it for
i40e.  I'm assuming if you turn off TSO then the GSO and Tx checksum are
working correctly?  I just want to make sure the issue you are seeing
isn't in any way related to my patch.

Thanks,

Alex
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ