All of lore.kernel.org
 help / color / mirror / Atom feed
* [net-next PATCH v2 0/9] Fix Tunnel features and enable GSO partial for several drivers
@ 2016-04-29 22:43 Alexander Duyck
  2016-04-29 22:43 ` [net-next PATCH v2 1/9] net: Disable segmentation if checksumming is not supported Alexander Duyck
                   ` (8 more replies)
  0 siblings, 9 replies; 26+ messages in thread
From: Alexander Duyck @ 2016-04-29 22:43 UTC (permalink / raw)
  To: talal, netdev, michael.chan, 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 few patches address issues I found when just trying to collect
performance numbers.  Specifically I was unable to get rates of any more
than 1 or 2 Mb/s if I was using a tunnel that ran over IPv6.  In addition I
found a few other items related to GSO_PARTIAL and the TSO_MANGLEID that
needed to be addressed.

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.

    There are outstanding issues 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 and bnxt
    issues are being researched.

---

Alexander Duyck (9):
      net: Disable segmentation if checksumming is not supported
      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
      vxlan: Add checksum check to the features check function
      mlx4: Add support for UDP tunnel segmentation with outer checksum offload
      mlx4: Add support for inner IPv6 checksum offloads and TSO
      mlx5e: Add support for UDP tunnel segmentation with outer checksum offload
      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 ++++--
 include/linux/if_ether.h                          |    5 +++
 include/net/vxlan.h                               |    4 ++
 net/core/dev.c                                    |    6 +++
 net/core/skbuff.c                                 |    6 ++-
 8 files changed, 74 insertions(+), 19 deletions(-)

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

end of thread, other threads:[~2016-05-05 22:00 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-29 22:43 [net-next PATCH v2 0/9] Fix Tunnel features and enable GSO partial for several drivers Alexander Duyck
2016-04-29 22:43 ` [net-next PATCH v2 1/9] net: Disable segmentation if checksumming is not supported Alexander Duyck
2016-05-01 20:30   ` Or Gerlitz
2016-05-02  2:16     ` Alexander Duyck
2016-04-29 22:43 ` [net-next PATCH v2 2/9] gso: Only allow GSO_PARTIAL if we can checksum the inner protocol Alexander Duyck
2016-04-29 22:43 ` [net-next PATCH v2 3/9] net: Fix netdev_fix_features so that TSO_MANGLEID is only available with TSO Alexander Duyck
2016-04-29 22:43 ` [net-next PATCH v2 4/9] vxlan: Add checksum check to the features check function Alexander Duyck
2016-04-29 22:43 ` [net-next PATCH v2 5/9] mlx4: Add support for UDP tunnel segmentation with outer checksum offload Alexander Duyck
2016-05-01 20:28   ` Saeed Mahameed
2016-05-01 20:35   ` Or Gerlitz
2016-05-02  2:25     ` Alexander Duyck
2016-05-02  7:19       ` Or Gerlitz
2016-05-02 15:41         ` Alexander Duyck
2016-05-03 12:41           ` Or Gerlitz
2016-05-03 15:29             ` Alexander Duyck
2016-05-04 15:50               ` Or Gerlitz
2016-05-04 16:06                 ` Alex Duyck
2016-05-05 21:39                   ` Or Gerlitz
2016-05-05 22:00                     ` Alexander Duyck
2016-04-29 22:43 ` [net-next PATCH v2 6/9] mlx4: Add support for inner IPv6 checksum offloads and TSO Alexander Duyck
2016-05-01 20:21   ` Saeed Mahameed
2016-04-29 22:43 ` [net-next PATCH v2 7/9] mlx5e: Add support for UDP tunnel segmentation with outer checksum offload Alexander Duyck
2016-05-01 20:08   ` Saeed Mahameed
2016-04-29 22:43 ` [net-next PATCH v2 8/9] mlx5e: Fix IPv6 tunnel " Alexander Duyck
2016-05-01 20:09   ` Saeed Mahameed
2016-04-29 22:43 ` [net-next PATCH v2 9/9] bnxt: Add support for segmentation of tunnels with outer checksums 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.