bianbu-linux-6.6/drivers/net/ethernet
Jakub Kicinski b39212d593 Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue
Tony Nguyen says:

====================
i40e: support XDP multi-buffer

Tirthendu Sarkar says:

This patchset adds multi-buffer support for XDP. Tx side already has
support for multi-buffer. This patchset focuses on Rx side. The last
patch contains actual multi-buffer changes while the previous ones are
preparatory patches.

On receiving the first buffer of a packet, xdp_buff is built and its
subsequent buffers are added to it as frags. While 'next_to_clean' keeps
pointing to the first descriptor, the newly introduced 'next_to_process'
keeps track of every descriptor for the packet.

On receiving EOP buffer the XDP program is called and appropriate action
is taken (building skb for XDP_PASS, reusing page for XDP_DROP, adjusting
page offsets for XDP_{REDIRECT,TX}).

The patchset also streamlines page offset adjustments for buffer reuse
to make it easier to post process the rx_buffers after running XDP prog.

With this patchset there does not seem to be any performance degradation
for XDP_PASS and some improvement (~1% for XDP_TX, ~5% for XDP_DROP) when
measured using xdp_rxq_info program from samples/bpf/ for 64B packets.

v1: https://lore.kernel.org/netdev/20230306210822.3381942-1-anthony.l.nguyen@intel.com/

* '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue:
  i40e: add support for XDP multi-buffer Rx
  i40e: add xdp_buff to i40e_ring struct
  i40e: introduce next_to_process to i40e_ring
  i40e: use frame_sz instead of recalculating truesize for building skb
  i40e: Change size to truesize when using i40e_rx_buffer_flip()
  i40e: add pre-xdp page_count in rx_buffer
  i40e: change Rx buffer size for legacy-rx to support XDP multi-buffer
  i40e: consolidate maximum frame size calculation for vsi
====================

Link: https://lore.kernel.org/r/20230309212819.1198218-1-anthony.l.nguyen@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2023-03-13 17:03:20 -07:00
..
3com
8390
actions net: Remove C45 check in C22 only MDIO bus drivers 2023-01-20 18:12:45 -08:00
adaptec
adi Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-01-27 22:56:18 -08:00
aeroflex ethernet: aeroflex: fix potential skb leak in greth_init_rings() 2022-12-07 11:45:52 +01:00
agere
alacritech
allwinner
alteon
altera Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-11-29 13:04:52 -08:00
amazon drivers: net: turn on XDP features 2023-02-02 20:48:23 -08:00
amd amd-xgbe: fix mismatched prototype 2023-02-06 22:33:18 -08:00
apm
apple net: apple: bmac: don't call dev_kfree_skb() under spin_lock_irqsave() 2022-12-12 09:53:10 +00:00
aquantia bpf-next-for-netdev 2023-02-10 17:51:27 -08:00
arc
asix
atheros alx: Drop redundant pci_enable_pcie_error_reporting() 2023-03-08 23:34:38 -08:00
broadcom bnxt: avoid overflow in bnxt_get_nvram_directory() 2023-03-13 16:35:49 -07:00
brocade bna: Avoid clashing function prototypes 2022-11-21 08:17:59 +00:00
cadence Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-02-09 12:25:40 -08:00
calxeda
cavium drivers: net: turn on XDP features 2023-02-02 20:48:23 -08:00
chelsio cxgb4: Drop redundant pci_enable_pcie_error_reporting() 2023-03-08 23:34:38 -08:00
cirrus
cisco
cortina
davicom net: dm9051: Fix missing dev_kfree_skb() in dm9051_loop_rx() 2022-11-23 12:43:14 +00:00
dec
dlink sundance: remove unused variable cnt 2022-11-17 13:18:30 +01:00
emulex be2net: Drop redundant pci_enable_pcie_error_reporting() 2023-03-08 23:34:38 -08:00
engleder bpf-next-for-netdev 2023-02-10 17:51:27 -08:00
ezchip
faraday net: ftmac100: handle netdev flags IFF_PROMISC and IFF_ALLMULTI 2023-01-18 13:03:40 +00:00
freescale phy-for-6.3 2023-02-24 17:22:11 -08:00
fujitsu
fungible net/fungible: Drop redundant pci_enable_pcie_error_reporting() 2023-03-08 23:34:38 -08:00
google gve: Fix gve interrupt names 2023-02-06 10:03:26 +00:00
hisilicon net: hns3: remove unnecessary aer.h include 2023-03-08 23:34:38 -08:00
huawei Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-11-17 18:30:39 -08:00
i825xx
ibm ibmvnic: Assign XPS map to correct queue index 2023-02-24 18:34:26 -08:00
intel Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue 2023-03-13 17:03:20 -07:00
litex
marvell net: mvpp2: Defer probe if MAC address source is not yet ready 2023-03-10 16:12:10 -08:00
mediatek Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-03-09 22:22:11 -08:00
mellanox net/mlx4_en: Replace fake flex-array with flexible-array member 2023-03-08 09:53:49 +00:00
micrel
microchip net: lan966x: Add support for IS1 VCAP ethernet protocol types 2023-03-10 16:44:25 -08:00
microsoft bpf-next-for-netdev 2023-02-10 17:51:27 -08:00
moxa
mscc net: dsa: ocelot: add PTP dependency for NET_DSA_MSCC_OCELOT_EXT 2023-02-10 19:35:58 -08:00
myricom myri10ge: Fix an error handling path in myri10ge_probe() 2022-12-19 12:30:32 +00:00
natsemi
neterion ethernet: s2io: don't call dev_kfree_skb() under spin_lock_irqsave() 2022-12-12 09:38:24 +00:00
netronome nfp: fix esp-tx-csum-offload doesn't take effect 2023-03-03 08:28:44 +00:00
ni net: nixge: Separate C22 and C45 transactions 2023-01-17 19:34:08 -08:00
nvidia
nxp
oki-semi net: pch_gbe: fix pci device refcount leak while module exiting 2022-11-18 19:40:14 -08:00
packetengines
pasemi
pensando ionic: add tx/rx-push support with device Component Memory Buffers 2023-02-13 11:05:12 +00:00
qlogic qede: remove linux/version.h and linux/compiler.h 2023-03-10 21:29:54 -08:00
qualcomm net: qualcomm: rmnet: add ethtool support for configuring tx aggregation 2023-01-13 10:23:52 +00:00
rdc r6040: Fix kmemleak in probe and remove 2022-12-15 12:48:34 +01:00
realtek r8169: remove ASPM restrictions now that ASPM is disabled during NAPI poll 2023-03-08 09:30:41 +00:00
renesas ravb: remove R-Car H3 ES1.* handling 2023-03-08 23:20:50 -08:00
rocker
samsung net: sxgbe: Separate C22 and C45 transactions 2023-01-17 19:34:08 -08:00
seeq
sfc sfc: support offloading TC VLAN push/pop actions to the MAE 2023-03-10 21:28:59 -08:00
sgi
silan
sis
smsc
socionext drivers: net: turn on XDP features 2023-02-02 20:48:23 -08:00
stmicro net: stmmac: add to set device wake up flag when stmmac init phy 2023-03-06 07:36:20 +00:00
sun net: sunhme: Fix region request 2023-02-23 09:58:51 -08:00
sunplus net: Remove C45 check in C22 only MDIO bus drivers 2023-01-20 18:12:45 -08:00
synopsys
tehuti
ti net: ethernet: ti: am65-cpsw: Update name of Serdes PHY 2023-03-10 21:25:01 -08:00
toshiba
tundra
vertexcom
via
wangxun net: txgbe: Drop redundant pci_enable_pcie_error_reporting() 2023-03-08 23:34:39 -08:00
wiznet
xilinx Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-12-13 09:49:29 +01:00
xircom
xscale
dnet.c net: ethernet: dnet: don't call dev_kfree_skb() under spin_lock_irqsave() 2022-12-12 09:56:17 +00:00
dnet.h
ec_bhf.c
ethoc.c
fealnx.c eth: fealnx: bring back this old driver 2023-03-08 23:22:04 -08:00
jme.c
jme.h
Kconfig net: restore alpha order to Ethernet devices in config 2023-03-09 23:36:28 -08:00
korina.c
lantiq_etop.c
lantiq_xrx200.c
Makefile eth: fealnx: bring back this old driver 2023-03-08 23:22:04 -08:00