[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJ3xEMjVx6-XK9Eb2akLHei_43pw10rnHM-zXrOD7pzoXuXaRg@mail.gmail.com>
Date: Fri, 26 Sep 2014 23:16:20 +0300
From: Or Gerlitz <gerlitz.or@...il.com>
To: Tom Herbert <therbert@...gle.com>
Cc: David Miller <davem@...emloft.net>,
Linux Netdev List <netdev@...r.kernel.org>
Subject: Re: [PATCH net-next 0/5] udp: Generalize GSO for UDP tunnels
On Fri, Sep 26, 2014 at 7:22 PM, Tom Herbert <therbert@...gle.com> wrote:
[...]
> Notes:
> - GSO for GRE/UDP where GRE checksum is enabled does not work.
> Handling this will require some special case code.
> - Software GSO now supports many varieties of encapsulation with
> SKB_GSO_UDP_TUNNEL{_CSUM}. We still need a mechanism to query
> for device support of particular combinations (I intend to
> add ndo_gso_check for that).
Tom,
As I wrote you earlier on another thread/s, fact is that there are
upstream drivers who advertize SKB_GSO_UDP_TUNNEL and aren't capable @
this point to issue proper HW segmentation of something which isn't
VXLAN.
Just to make sure, this series isn't expected to introduce a
regression, right? we don't expect the stack to attempt and xmit a
large 64KB UDP packet which isn't vxlan through these devices.
> - MPLS seems to be the only previous user of inner_protocol. I don't
> believe these patches can affect that. For supporting GSO with
> MPLS over UDP, the inner_protocol should be set using the
> helper functions in this patch.
> - GSO for L2TP/UDP should also be straightforward now.
> Tested GRE, IPIP, and SIT over fou as well as VLXAN. This was
> done using 200 TCP_STREAMs in netperf.
[...]
> VXLAN
> TCP_STREAM TSO enabled on tun interface
> 16.42% TX CPU utilization
> 23.66% RX CPU utilization
> 9081 Mbps
> TCP_STREAM TSO disabled on tun interface
> 30.32% TX CPU utilization
> 30.55% RX CPU utilization
> 9185 Mbps
so TSO disabled has better BW vs TSO enabled?
> Baseline (no encp, TSO and LRO enabled)
> TCP_STREAM
> 11.85% TX CPU utilization
> 15.13% RX CPU utilization
> 9452 Mbps
I would strongly recommend to have a far better baseline when
developing and testing these changes in the stack in the form of 40Gbs
NICs.
Or.
>
> Tom Herbert (5):
> udp: Generalize skb_udp_segment
> sit: Set inner IP protocol in sit
> ipip: Set inner IP protocol in ipip
> gre: Set inner protocol in v4 and v6 GRE transmit
> vxlan: Set inner protocol before transmit
>
> drivers/net/vxlan.c | 4 ++++
> include/linux/skbuff.h | 26 +++++++++++++++++++++++--
> include/net/udp.h | 3 ++-
> net/core/skbuff.c | 1 +
> net/ipv4/ip_gre.c | 2 ++
> net/ipv4/ipip.c | 2 ++
> net/ipv4/udp_offload.c | 51 +++++++++++++++++++++++++++++++++++++++++++++-----
> net/ipv6/ip6_gre.c | 8 ++++++--
> net/ipv6/sit.c | 4 ++++
> net/ipv6/udp_offload.c | 2 +-
> 10 files changed, 92 insertions(+), 11 deletions(-)
>
> --
> 2.1.0.rc2.206.gedb03e5
>
> --
> 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
--
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