|
|
Log in / Subscribe / Register

net: disambiguate the TSO and GSO limits

From:  Jakub Kicinski <kuba-AT-kernel.org>
To:  davem-AT-davemloft.net
Subject:  [PATCH net-next 0/4] net: disambiguate the TSO and GSO limits
Date:  Thu, 05 May 2022 19:51:30 -0700
Message-ID:  <20220506025134.794537-1-kuba@kernel.org>
Cc:  netdev-AT-vger.kernel.org, edumazet-AT-google.com, pabeni-AT-redhat.com, alexander.duyck-AT-gmail.com, stephen-AT-networkplumber.org, Jakub Kicinski <kuba-AT-kernel.org>
Archive-link:  Article

This series separates the device-reported TSO limitations
from the user space-controlled GSO limits. It used to be that
we only had the former (HW limits) but they were named GSO.
This probably lead to confusion and letting user override them.

The problem came up in the BIG TCP discussion between Eric and
Alex, and seems like something we should address.

Targeting net-next because (a) nobody is reporting problems;
and (b) there is a tiny but non-zero chance that some actually
wants to lift the HW limitations.

Jakub Kicinski (4):
  net: add netif_inherit_tso_max()
  net: don't allow user space to lift the device limits
  net: make drivers set the TSO limit not the GSO limit
  net: move netif_set_gso_max helpers

 drivers/net/bonding/bond_main.c               | 12 ++---
 .../net/ethernet/atheros/atl1e/atl1e_main.c   |  2 +-
 .../net/ethernet/cavium/liquidio/lio_main.c   |  2 +-
 .../ethernet/cavium/liquidio/lio_vf_main.c    |  2 +-
 drivers/net/ethernet/emulex/benet/be_main.c   |  2 +-
 drivers/net/ethernet/freescale/fec_main.c     |  2 +-
 drivers/net/ethernet/hisilicon/hns/hns_enet.c |  4 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c |  4 +-
 drivers/net/ethernet/marvell/mv643xx_eth.c    |  2 +-
 drivers/net/ethernet/marvell/mvneta.c         |  2 +-
 .../net/ethernet/marvell/mvpp2/mvpp2_main.c   |  2 +-
 .../ethernet/marvell/octeontx2/nic/otx2_pf.c  |  2 +-
 .../ethernet/marvell/octeontx2/nic/otx2_vf.c  |  2 +-
 .../ethernet/netronome/nfp/nfp_net_common.c   |  2 +-
 .../net/ethernet/netronome/nfp/nfp_net_repr.c |  5 +-
 drivers/net/ethernet/realtek/r8169_main.c     |  8 ++--
 drivers/net/ethernet/sfc/ef100_nic.c          |  9 ++--
 drivers/net/ethernet/sfc/efx.c                |  2 +-
 drivers/net/ethernet/sfc/falcon/efx.c         |  2 +-
 drivers/net/hyperv/rndis_filter.c             |  2 +-
 drivers/net/ipvlan/ipvlan_main.c              |  6 +--
 drivers/net/macvlan.c                         |  6 +--
 drivers/net/usb/aqc111.c                      |  2 +-
 drivers/net/usb/ax88179_178a.c                |  2 +-
 drivers/net/usb/lan78xx.c                     |  2 +-
 drivers/net/usb/r8152.c                       |  2 +-
 drivers/net/veth.c                            |  3 +-
 drivers/net/vxlan/vxlan_core.c                |  3 +-
 drivers/s390/net/qeth_l2_main.c               |  2 +-
 drivers/s390/net/qeth_l3_main.c               |  2 +-
 include/linux/netdevice.h                     | 31 +++++-------
 net/8021q/vlan.c                              |  3 +-
 net/8021q/vlan_dev.c                          |  3 +-
 net/bridge/br_if.c                            | 12 ++---
 net/core/dev.c                                | 47 +++++++++++++++++++
 net/core/dev.h                                | 21 +++++++++
 net/core/rtnetlink.c                          |  4 +-
 37 files changed, 137 insertions(+), 84 deletions(-)

-- 
2.34.1



Copyright © 2022, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds