From: Alexander Duyck <aduyck@mirantis.com>
To: herbert@gondor.apana.org.au, tom@herbertland.com,
jesse@kernel.org, alexander.duyck@gmail.com, edumazet@google.com,
netdev@vger.kernel.org, davem@davemloft.net
Subject: [RFC PATCH 00/11] GSO partial and TSO FIXEDID support
Date: Thu, 07 Apr 2016 18:31:51 -0400 [thread overview]
Message-ID: <20160407222211.11142.41024.stgit@ahduyck-xeon-server> (raw)
This patch series represents my respun version of the GSO partial work.
The major changes from the first version is that we are no longer making
the decision to mangle IP IDs transparently at the device. Instead it is
now pushed up to the tunnel layer itself so that the tunnel is not
responsible for deciding if the IP IDs will be static or fixed for a given
TSO.
I'm a bit jammed up at the moment as I am trying to determine the best spot
to make the same change I currently am for VXLAN and GENEVE with GRE and
IPIP tunnels. I'm assuming the correct spot would be somewhere near
iptunnel_handle_offload as I did for the other two tunnel types I have
already updated, but the flow based tunnels for GRE seem to be making it a
bit more complicated as I am not sure if a tunnel dev actually exists for
those tunnels.
This patch series is meant to apply to the dev-queue branch Jeff Kirsher's
next-queue tree at:
https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git
I chose his tree as the Intel driver patches would not apply otherwise.
Patch 1 from the series is a copy of the patch recently accepted for the
net tree. It is needed in this series to avoid merge conflicts later on as
we were making other changes in the GRO code.
---
Alexander Duyck (11):
GRE: Disable segmentation offloads w/ CSUM and we are encapsulated via FOU
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
VXLAN: Add option to mangle IP IDs on inner headers when using TSO
GENEVE: Add option to mangle IP IDs on inner headers when using TSO
Documentation: Add documentation for TSO and GSO features
i40e/i40evf: Add support for GSO partial with UDP_TUNNEL_CSUM and GRE_CSUM
ixgbe/ixgbevf: Add support for GSO partial
igb/igbvf: Add support for GSO partial
Documentation/networking/segmentation-offloads.txt | 127 ++++++++++++++
drivers/net/ethernet/intel/i40e/i40e_main.c | 6 +
drivers/net/ethernet/intel/i40e/i40e_txrx.c | 7 +
drivers/net/ethernet/intel/i40evf/i40e_txrx.c | 7 +
drivers/net/ethernet/intel/i40evf/i40evf_main.c | 6 +
drivers/net/ethernet/intel/igb/igb_main.c | 119 ++++++++++---
drivers/net/ethernet/intel/igbvf/netdev.c | 180 ++++++++++++--------
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 115 +++++++++----
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 122 +++++++++++---
drivers/net/geneve.c | 24 ++-
drivers/net/vxlan.c | 16 ++
include/linux/netdev_features.h | 8 +
include/linux/netdevice.h | 11 +
include/linux/skbuff.h | 27 ++-
include/net/udp_tunnel.h | 8 -
include/net/vxlan.h | 1
include/uapi/linux/if_link.h | 2
net/core/dev.c | 33 ++++
net/core/ethtool.c | 4
net/core/skbuff.c | 29 +++
net/ipv4/af_inet.c | 70 ++++++--
net/ipv4/fou.c | 6 +
net/ipv4/gre_offload.c | 35 +++-
net/ipv4/ip_gre.c | 13 +
net/ipv4/tcp_offload.c | 30 +++
net/ipv4/udp_offload.c | 27 ++-
net/ipv6/ip6_offload.c | 21 ++
27 files changed, 837 insertions(+), 217 deletions(-)
create mode 100644 Documentation/networking/segmentation-offloads.txt
next reply other threads:[~2016-04-07 22:31 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-07 22:31 Alexander Duyck [this message]
2016-04-07 22:31 ` [RFC PATCH 01/11] GRE: Disable segmentation offloads w/ CSUM and we are encapsulated via FOU Alexander Duyck
2016-04-07 22:32 ` [RFC PATCH 02/11] ethtool: Add support for toggling any of the GSO offloads Alexander Duyck
2016-04-07 22:32 ` [RFC PATCH 03/11] GSO: Add GSO type for fixed IPv4 ID Alexander Duyck
2016-04-07 22:32 ` [RFC PATCH 04/11] GRO: Add support for TCP with fixed IPv4 ID field, limit tunnel IP ID values Alexander Duyck
2016-04-07 22:32 ` [RFC PATCH 05/11] GSO: Support partial segmentation offload Alexander Duyck
2016-04-07 22:32 ` [RFC PATCH 06/11] VXLAN: Add option to mangle IP IDs on inner headers when using TSO Alexander Duyck
2016-04-07 22:32 ` [RFC PATCH 07/11] GENEVE: " Alexander Duyck
2016-04-07 23:22 ` Jesse Gross
2016-04-07 23:52 ` Alexander Duyck
2016-04-08 21:40 ` Jesse Gross
2016-04-08 22:04 ` Alexander Duyck
2016-04-09 15:52 ` Jesse Gross
2016-04-09 17:36 ` Alexander Duyck
2016-04-09 18:02 ` Eric Dumazet
2016-04-09 18:32 ` Alexander Duyck
2016-04-07 22:32 ` [RFC PATCH 08/11] Documentation: Add documentation for TSO and GSO features Alexander Duyck
2016-04-07 22:32 ` [RFC PATCH 09/11] i40e/i40evf: Add support for GSO partial with UDP_TUNNEL_CSUM and GRE_CSUM Alexander Duyck
2016-04-07 22:32 ` [RFC PATCH 10/11] ixgbe/ixgbevf: Add support for GSO partial Alexander Duyck
2016-04-07 22:33 ` [RFC PATCH 11/11] igb/igbvf: " Alexander Duyck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160407222211.11142.41024.stgit@ahduyck-xeon-server \
--to=aduyck@mirantis.com \
--cc=alexander.duyck@gmail.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=herbert@gondor.apana.org.au \
--cc=jesse@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=tom@herbertland.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox