netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* vxlan gso is broken by stackable gso_segment()
@ 2013-10-24 23:37 Alexei Starovoitov
  2013-10-25  0:41 ` Eric Dumazet
  0 siblings, 1 reply; 41+ messages in thread
From: Alexei Starovoitov @ 2013-10-24 23:37 UTC (permalink / raw)
  To: Eric Dumazet, Stephen Hemminger; +Cc: David S. Miller, netdev

Hi Eric, Stephen,

it seems commit 3347c960 "ipv4: gso: make inet_gso_segment() stackable"
broke vxlan gso

the way to reproduce:
start two lxc with veth and bridge between them
create vxlan dev in both containers
do iperf

this setup on net-next does ~80 Mbps and a lot of tcp retransmits.
reverting 3347c960 and d3e5e006 gets performance back to ~230 Mbps

I guess vxlan driver suppose to set encap_level ? Some other way?

Thanks
Alexei

^ permalink raw reply	[flat|nested] 41+ messages in thread
* Re: [PATCH net-next] veth: extend features to support tunneling
@ 2013-11-16 21:11 Or Gerlitz
  2013-11-16 21:40 ` Eric Dumazet
  0 siblings, 1 reply; 41+ messages in thread
From: Or Gerlitz @ 2013-11-16 21:11 UTC (permalink / raw)
  To: Eric Dumazet
  Cc: Alexei Starovoitov, David Miller, Eric Dumazet, Stephen Hemminger,
	netdev@vger.kernel.org, Michael S. Tsirkin, John Fastabend

On Sat, Oct 26, 2013 at 6:13 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
> On Fri, 2013-10-25 at 19:22 -0700, Alexei Starovoitov wrote:
>> On Fri, Oct 25, 2013 at 6:25 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
>> > From: Eric Dumazet <edumazet@google.com>
>> >
>> > While investigating on a recent vxlan regression, I found veth
>> > was using a zero features set for vxlan tunnels.
>>
>> oneliner can be better :)
>
> Yes, I'll post the gso fix as well, of course ;)
>
>>
>> > We have to segment GSO frames, copy the payload, and do the checksum.
>> >
>> > This patch brings a ~200% performance increase
>> >
>> > We probably have to add hw_enc_features support
>> > on other virtual devices.
>> >
>> > Signed-off-by: Eric Dumazet <edumazet@google.com>
>> > Cc: Alexei Starovoitov <ast@plumgrid.com>
>> > ---
>>
>> iperf over veth with gre/vxlan tunneling is now ~4Gbps. 20x gain as advertised.
>> Thanks!
>
> Wow, such a difference might show another bug somewhere else...

Guys (thanks Eric for the clarification over the other vxlan thread),
with the latest networking code (e.g 3.12 or net-next)  do you expect
notable performance (throughput) difference between these two configs?

1. bridge --> vxlan --> NIC
2. veth --> bridge --> vxlan --> NIC

BTW #2 doesn't work when packets start to be large unless I manually
decrease the veth device pair MTU. E.g if the NIC MTU is 1500, vxlan
advertizes an MTU of 1450 (= 1500 - (14 + 20 + 8 + 8)) and the bridge
inherits that, but not the veth device. Should someone/somewhere here
generate an ICMP packet which will cause the stack to decreate the
path mtu for the neighbour created on the veth device? what about
para-virtualized guests which are plugged into this (or any host based
tunneling) scheme, e.g in this scheme

3. guest virtio NIC --> vhost  --> tap/macvtap --> bridge --> vxlan --> NIC

Who/how do we want the guest NIC mtu/path mtu to take into account the
tunneling over-head?

Or.

^ permalink raw reply	[flat|nested] 41+ messages in thread

end of thread, other threads:[~2013-11-19  3:51 UTC | newest]

Thread overview: 41+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-24 23:37 vxlan gso is broken by stackable gso_segment() Alexei Starovoitov
2013-10-25  0:41 ` Eric Dumazet
2013-10-25  1:59   ` Alexei Starovoitov
2013-10-25  4:06     ` Eric Dumazet
2013-10-25  9:09       ` Eric Dumazet
2013-10-25 22:18         ` David Miller
2013-10-25 22:41           ` Alexei Starovoitov
2013-10-25 23:10             ` David Miller
2013-10-25 23:25             ` Eric Dumazet
2013-10-26  0:26               ` [PATCH net-next] tcp: gso: fix truesize tracking Eric Dumazet
2013-10-26  1:46                 ` Alexei Starovoitov
2013-10-28  4:58                 ` David Miller
2013-10-29  4:05                 ` David Miller
2013-10-26  0:52               ` vxlan gso is broken by stackable gso_segment() Eric Dumazet
2013-10-26  1:25                 ` [PATCH net-next] veth: extend features to support tunneling Eric Dumazet
2013-10-26  2:22                   ` Alexei Starovoitov
2013-10-26  4:13                     ` Eric Dumazet
2013-10-28  4:58                   ` David Miller
2013-10-28  1:18             ` [PATCH net-next] inet: restore gso for vxlan Eric Dumazet
2013-10-28  4:25               ` David Miller
2013-11-07 22:33               ` Eric Dumazet
2013-11-07 23:27                 ` Alexei Starovoitov
2013-11-08  0:44                   ` [PATCH net-next] inet: fix a UFO regression Eric Dumazet
2013-11-08  1:39                     ` Alexei Starovoitov
2013-11-08  2:08                       ` Eric Dumazet
2013-11-08  2:32                     ` [PATCH v2 " Eric Dumazet
2013-11-08  7:08                       ` David Miller
2013-11-16 20:23                   ` [PATCH net-next] inet: restore gso for vxlan Or Gerlitz
2013-11-16 20:50                     ` Eric Dumazet
  -- strict thread matches above, loose matches on Subject: below --
2013-11-16 21:11 [PATCH net-next] veth: extend features to support tunneling Or Gerlitz
2013-11-16 21:40 ` Eric Dumazet
2013-11-17  0:09   ` Eric Dumazet
2013-11-17  6:57   ` Or Gerlitz
2013-11-17  7:31   ` Alexei Starovoitov
2013-11-17 17:20     ` Eric Dumazet
2013-11-17 19:00       ` Alexei Starovoitov
2013-11-17 21:20         ` Or Gerlitz
2013-11-17 22:38         ` Eric Dumazet
2013-11-18 17:55     ` David Stevens
2013-11-18 22:57       ` Jesse Gross
2013-11-19  3:51       ` Alexei Starovoitov

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