mirror_ubuntu-kernels/drivers/net/ethernet/broadcom/bnxt
Coco Li b6488b161a bnxt: Use generic HBH removal helper in tx path
Eric Dumazet implemented Big TCP that allowed bigger TSO/GRO packet sizes
for IPv6 traffic. See patch series:
'commit 89527be8d8 ("net: add IFLA_TSO_{MAX_SIZE|SEGS} attributes")'

This reduces the number of packets traversing the networking stack and
should usually improves performance. However, it also inserts a
temporary Hop-by-hop IPv6 extension header.

Using the HBH header removal method in the previous patch, the extra header
be removed in bnxt drivers to allow it to send big TCP packets (bigger
TSO packets) as well.

Tested:
Compiled locally

To further test functional correctness, update the GSO/GRO limit on the
physical NIC:

ip link set eth0 gso_max_size 181000
ip link set eth0 gro_max_size 181000

Note that if there are bonding or ipvan devices on top of the physical
NIC, their GSO sizes need to be updated as well.

Then, IPv6/TCP packets with sizes larger than 64k can be observed.

Signed-off-by: Coco Li <lixiaoyan@google.com>
Reviewed-by: Michael Chan <michael.chan@broadcom.com>
Tested-by: Michael Chan <michael.chan@broadcom.com>
Link: https://lore.kernel.org/r/20221210041646.3587757-2-lixiaoyan@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2022-12-12 15:41:44 -08:00
..
bnxt_coredump.c bnxt_en: use firmware provided max timeout for messages 2022-01-09 16:27:23 -08:00
bnxt_coredump.h bnxt_en: move coredump functions into dedicated file 2021-10-29 12:13:05 +01:00
bnxt_dcb.c bnxt_en: Properly report no pause support on some cards 2022-03-05 11:16:56 +00:00
bnxt_dcb.h bnxt_en: Use struct_group_attr() for memcpy() region 2021-09-25 08:20:48 -07:00
bnxt_debugfs.c
bnxt_debugfs.h
bnxt_devlink.c net: devlink: let the core report the driver name instead of the drivers 2022-11-30 21:49:38 -08:00
bnxt_devlink.h bnxt: revert hastily merged uAPI aberrations 2022-03-09 19:55:00 -08:00
bnxt_dim.c
bnxt_ethtool.c bnxt: report FEC block stats via standard interface 2022-12-01 16:34:52 -08:00
bnxt_ethtool.h bnxt_en: implement callbacks for devlink selftests 2022-07-28 21:56:53 -07:00
bnxt_fw_hdr.h
bnxt_hsi.h bnxt_en: update RSS config using difference algorithm 2022-11-08 12:39:02 +01:00
bnxt_hwrm.c bnxt_en: fix the handling of PCIE-AER 2022-11-04 19:29:02 -07:00
bnxt_hwrm.h bnxt_en: Increase firmware message response DMA wait time 2022-02-20 13:47:15 +00:00
bnxt_nvm_defs.h
bnxt_ptp.c ptp: bnxt: convert .adjfreq to .adjfine 2022-11-11 10:58:39 +00:00
bnxt_ptp.h bnxt_en: Add a non-real time mode to access NIC clock 2022-11-08 12:39:02 +01:00
bnxt_sriov.c bnxt_en: fix NQ resource accounting during vf creation on 57500 chips 2022-08-23 15:32:17 -07:00
bnxt_sriov.h ethernet: constify references to netdev->dev_addr in drivers 2021-10-14 09:22:11 -07:00
bnxt_tc.c flow_offload: reject to offload tc actions in offload drivers 2021-12-19 14:08:47 +00:00
bnxt_tc.h
bnxt_ulp.c eth: bnxt: make ulp_id unsigned to make GCC 12 happy 2022-05-20 17:30:19 -07:00
bnxt_ulp.h eth: bnxt: make ulp_id unsigned to make GCC 12 happy 2022-05-20 17:30:19 -07:00
bnxt_vfr.c net: ethernet: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:26 -07:00
bnxt_vfr.h bnxt_en: Free and allocate VF-Reps during error recovery. 2021-04-12 13:20:38 -07:00
bnxt_xdp.c bnxt_en: Use PAGE_SIZE to init buffer when multi buffer XDP is not in use 2022-08-23 15:32:07 -07:00
bnxt_xdp.h bnxt: support transmit and free of aggregation buffers 2022-04-08 11:52:48 +01:00
bnxt.c bnxt: Use generic HBH removal helper in tx path 2022-12-12 15:41:44 -08:00
bnxt.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-11-10 17:43:53 -08:00
Makefile bnxt_en: move coredump functions into dedicated file 2021-10-29 12:13:05 +01:00