All of lore.kernel.org
 help / color / mirror / Atom feed
* [net-next PATCH 0/5] GRO Fixed IPv4 ID support and GSO partial support
@ 2016-04-08 20:33 Alexander Duyck
  2016-04-08 20:33 ` [net-next PATCH 1/5] ethtool: Add support for toggling any of the GSO offloads Alexander Duyck
                   ` (5 more replies)
  0 siblings, 6 replies; 24+ messages in thread
From: Alexander Duyck @ 2016-04-08 20:33 UTC (permalink / raw)
  To: herbert, tom, jesse, alexander.duyck, edumazet, netdev, davem

This patch series sets up a few different things.

First it adds support for GRO of frames with a fixed IP ID value.  This
will allow us to perform GRO for frames that go through things like an IPv6
to IPv4 header translation.

The second item we add is support for segmenting frames that are generated
this way.  Most devices only support an incrementing IP ID value, and in
the case of TCP the IP ID can be ignored in many cases since the DF bit
should be set.  So we can technically segment these frames using existing
TSO if we are willing to allow the IP ID to be mangled.  As such I have
added a matching feature for the new form of GRO/GSO called TCP IPv4 ID
mangling.  With this enabled we can assemble and disassemble a frame with
the sequence number fixed and the only ill effect will be that the IPv4 ID
will be altered which may or may not have any noticeable effect.  As such I
have defaulted the feature to disabled.

The third item this patch series adds is support for partial GSO
segmentation.  Partial GSO segmentation allows us to split a large frame
into two pieces.  The first piece will have an even multiple of MSS worth
of data and the headers before the one pointed to by csum_start will have
been updated so that they are correct for if the data payload had already
been segmented.  By doing this we can do things such as precompute the
outer header checksums for a frame to be segmented allowing us to perform
TSO on devices that don't support tunneling, or tunneling with outer header
checksums.

This patch series currently relies on a patch that is in the net tree.  As
such it may be best to defer applying it until the net tree is merged.  In
addition I have some patches for the Intel NIC drivers that I will submit
as an RFC for now and will submit to Jeff Kirsher once this patch series
has been applied.

---

Alexander Duyck (5):
      ethtool: Add support for toggling any of the GSO offloads
      GSO: Add GSO type for fixed IPv4 ID
      GRO: Add support for TCP with fixed IPv4 ID field, limit tunnel IP ID values
      GSO: Support partial segmentation offload
      Documentation: Add documentation for TSO and GSO features


 Documentation/networking/segmentation-offloads.txt |  130 ++++++++++++++++++++
 include/linux/netdev_features.h                    |    8 +
 include/linux/netdevice.h                          |    8 +
 include/linux/skbuff.h                             |   27 +++-
 net/core/dev.c                                     |   38 +++++-
 net/core/ethtool.c                                 |    4 +
 net/core/skbuff.c                                  |   29 ++++
 net/ipv4/af_inet.c                                 |   70 ++++++++---
 net/ipv4/gre_offload.c                             |   27 +++-
 net/ipv4/tcp_offload.c                             |   30 ++++-
 net/ipv4/udp_offload.c                             |   27 +++-
 net/ipv6/ip6_offload.c                             |   21 +++
 12 files changed, 368 insertions(+), 51 deletions(-)
 create mode 100644 Documentation/networking/segmentation-offloads.txt

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

end of thread, other threads:[~2016-04-09 15:41 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-08 20:33 [net-next PATCH 0/5] GRO Fixed IPv4 ID support and GSO partial support Alexander Duyck
2016-04-08 20:33 ` [net-next PATCH 1/5] ethtool: Add support for toggling any of the GSO offloads Alexander Duyck
2016-04-08 20:33 ` [net-next PATCH 2/5] GSO: Add GSO type for fixed IPv4 ID Alexander Duyck
2016-04-08 21:41   ` Jesse Gross
2016-04-08 22:12     ` Alexander Duyck
2016-04-08 20:33 ` [net-next PATCH 3/5] GRO: Add support for TCP with fixed IPv4 ID field, limit tunnel IP ID values Alexander Duyck
2016-04-08 20:33 ` [net-next PATCH 4/5] GSO: Support partial segmentation offload Alexander Duyck
2016-04-08 20:33 ` [net-next PATCH 5/5] Documentation: Add documentation for TSO and GSO features Alexander Duyck
2016-04-08 21:06 ` [next-queue PATCH 0/3] Add support for GSO partial to Intel NIC drivers Alexander Duyck
2016-04-08 21:06   ` [Intel-wired-lan] " Alexander Duyck
2016-04-08 21:06   ` [next-queue PATCH 1/3] i40e/i40evf: Add support for GSO partial with UDP_TUNNEL_CSUM and GRE_CSUM Alexander Duyck
2016-04-08 21:06     ` [Intel-wired-lan] " Alexander Duyck
2016-04-09  6:51     ` Jeff Kirsher
2016-04-09  6:51       ` [Intel-wired-lan] " Jeff Kirsher
2016-04-08 21:06   ` [next-queue PATCH 2/3] ixgbe/ixgbevf: Add support for GSO partial Alexander Duyck
2016-04-08 21:06     ` [Intel-wired-lan] " Alexander Duyck
2016-04-09  6:53     ` Jeff Kirsher
2016-04-09  6:53       ` [Intel-wired-lan] " Jeff Kirsher
2016-04-08 21:06   ` [next-queue PATCH 3/3] igb/igbvf: " Alexander Duyck
2016-04-08 21:06     ` [Intel-wired-lan] " Alexander Duyck
2016-04-09  6:59   ` [next-queue PATCH 0/3] Add support for GSO partial to Intel NIC drivers Jeff Kirsher
2016-04-09  6:59     ` [Intel-wired-lan] " Jeff Kirsher
2016-04-09 15:41     ` Alexander Duyck
2016-04-09 15:41       ` [Intel-wired-lan] " Alexander Duyck

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.