netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [net-next PATCH v3 0/8] Fix Tunnel features and enable GSO partial for several drivers
@ 2016-05-02 16:38 Alexander Duyck
  2016-05-02 16:38 ` [net-next PATCH v3 1/8] gso: Do not perform partial GSO if number of partial segments is 1 or less Alexander Duyck
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: Alexander Duyck @ 2016-05-02 16:38 UTC (permalink / raw)
  To: talal, netdev, michael.chan, alexander.duyck, davem, galp,
	ogerlitz, eranbe

This patch series is meant to allow us to get the best performance possible
for Mellanox ConnectX-3/4 and Broadcom NetXtreme-C/E adapters in terms of
VXLAN and GRE tunnels.

The first 3 patches address issues I found in regards to GSO_PARTIAL and
TSO_MANGLEID.

The next 4 patches go through and enable GSO_PARTIAL for VXLAN tunnels that
have an outer checksum enabled, and then enable IPv6 support where I can.
One outstanding issue is that I wasn't able to get offloads working with
outer IPv6 headers on mlx4.  However that wasn't a feature that was enabled
before so it isn't technically a regression, however I believe Engineers
from Mellanox said they would look into it since they thought it should be
supported.

The last patch enables GSO_PARTIAL for VXLAN and GRE tunnels on the bnxt
driver.  One piece of feedback I received on the patch was that the
hardware has globally set IPv6 UDP tunnels to always have the checksum
field computed.  I plan to work with Broadcom to get that addressed so that
we only populate the checksum field if it was requested by the network
stack.

v2: Rebased patches off of latest changes to the mlx4/mlx5 drivers.
    Added bnxt driver patch as I received feedback on the RFC.
v3: Moved 2 patches into series for net as they were generic fixes.
    Added patch to disable GSO partial if frame is less than 2x size of MSS

    There are outstanding issues as called out above that need to be
    addressed, however they were present before these patches so it isn't
    as if they introduce a regression.  In addition gains can be easily
    seen so there should be no issue with applying the driver patches while
    the IPv6 mlx4_en and bnxt issues are being researched.

---

Alexander Duyck (8):
      gso: Do not perform partial GSO if number of partial segments is 1 or less
      gso: Only allow GSO_PARTIAL if we can checksum the inner protocol
      net: Fix netdev_fix_features so that TSO_MANGLEID is only available with TSO
      net/mlx4_en: Add support for UDP tunnel segmentation with outer checksum offload
      net/mlx4_en: Add support for inner IPv6 checksum offloads and TSO
      net/mlx5e: Add support for UDP tunnel segmentation with outer checksum offload
      net/mlx5e: Fix IPv6 tunnel checksum offload
      bnxt: Add support for segmentation of tunnels with outer checksums


 drivers/net/ethernet/broadcom/bnxt/bnxt.c         |    9 ++++-
 drivers/net/ethernet/mellanox/mlx4/en_netdev.c    |   38 +++++++++++++++++----
 drivers/net/ethernet/mellanox/mlx4/en_tx.c        |   15 +++++++-
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c |   10 ++++--
 net/core/dev.c                                    |    4 ++
 net/core/skbuff.c                                 |   11 ++++--
 6 files changed, 69 insertions(+), 18 deletions(-)

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

end of thread, other threads:[~2016-05-04 17:33 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-02 16:38 [net-next PATCH v3 0/8] Fix Tunnel features and enable GSO partial for several drivers Alexander Duyck
2016-05-02 16:38 ` [net-next PATCH v3 1/8] gso: Do not perform partial GSO if number of partial segments is 1 or less Alexander Duyck
2016-05-02 16:38 ` [net-next PATCH v3 2/8] gso: Only allow GSO_PARTIAL if we can checksum the inner protocol Alexander Duyck
2016-05-02 16:38 ` [net-next PATCH v3 3/8] net: Fix netdev_fix_features so that TSO_MANGLEID is only available with TSO Alexander Duyck
2016-05-02 16:38 ` [net-next PATCH v3 4/8] net/mlx4_en: Add support for UDP tunnel segmentation with outer checksum offload Alexander Duyck
2016-05-02 16:38 ` [net-next PATCH v3 5/8] net/mlx4_en: Add support for inner IPv6 checksum offloads and TSO Alexander Duyck
2016-05-02 16:38 ` [net-next PATCH v3 6/8] net/mlx5e: Add support for UDP tunnel segmentation with outer checksum offload Alexander Duyck
2016-05-02 16:38 ` [net-next PATCH v3 7/8] net/mlx5e: Fix IPv6 tunnel " Alexander Duyck
2016-05-02 16:38 ` [net-next PATCH v3 8/8] bnxt: Add support for segmentation of tunnels with outer checksums Alexander Duyck
2016-05-03 20:01 ` [net-next PATCH v3 0/8] Fix Tunnel features and enable GSO partial for several drivers David Miller
2016-05-04 17:32 ` David Miller

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