1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/net
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
..
appletalk
arcnet
bonding Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-02-09 12:25:40 -08:00
caif
can can: esd_usb: Improve readability on decoding ESD_EV_CAN_ERROR_EXT messages 2023-02-16 20:59:48 +01:00
dsa net: dsa: mt7530: permit port 5 to work without port 6 on MT7621 SoC 2023-03-08 23:14:28 -08:00
ethernet Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue 2023-03-13 17:03:20 -07:00
fddi
fjes
hamradio hamradio: baycom_epp: Do not use x86-specific rdtsc() 2022-12-19 09:27:10 +00:00
hippi
hyperv Networking changes for 6.3. 2023-02-21 18:24:12 -08:00
ieee802154 ca8210: fix mac_len negative array access 2023-03-02 14:39:48 +01:00
ipa ARM: SoC drivers for 6.3 2023-02-27 10:04:49 -08:00
ipvlan ipvlan: use skb_ip_totlen in ipvlan_get_L3_hdr 2023-02-01 20:54:27 -08:00
mctp mctp: serial: Fix starting value for frame check sequence 2022-12-19 12:38:45 +00:00
mdio net: dsa: seville: ignore mscc-miim read errors from Lynx PCS 2023-02-26 18:31:37 +00:00
netdevsim bpf-next-for-netdev 2023-02-10 17:51:27 -08:00
pcs net: pcs: rzn1-miic: remove unused struct members and use miic variable 2023-02-09 22:47:16 -08:00
phy net: phy: smsc: use device_property_present in smsc_phy_probe 2023-03-13 16:13:59 -07:00
plip
ppp
pse-pd
slip
team Revert "net: team: use IFF_NO_ADDRCONF flag to prevent ipv6 addrconf" 2023-01-18 20:32:44 -08:00
thunderbolt net: thunderbolt: Add tracepoints 2023-01-12 21:19:30 -08:00
usb net: usb: qmi_wwan: add Telit 0x1080 composition 2023-03-07 15:27:29 +01:00
vmxnet3 vmxnet3: move rss code block under eop descriptor 2023-02-09 22:50:46 -08:00
vxlan vxlan: Fix memory leaks in error path 2023-01-02 13:37:33 +00:00
wan net: wan: Add checks for NULL for utdm in undo_uhdlc_init and unmap_si_regs 2023-01-13 21:34:31 -08:00
wireguard cpumask: fix incorrect cpumask scanning result checks 2023-03-06 12:15:13 -08:00
wireless wireless-next patches for 6.4 2023-03-10 18:22:29 -08:00
wwan net: wwan: t7xx: Fix Runtime PM initialization 2023-01-28 13:20:21 +00:00
xen-netback Including fixes from wireless and netfilter. 2023-02-27 14:05:08 -08:00
amt.c
bareudp.c
dummy.c
eql.c
geneve.c
gtp.c
ifb.c
Kconfig Networking changes for 6.3. 2023-02-21 18:24:12 -08:00
LICENSE.SRC
loopback.c
macsec.c Networking changes for 6.3. 2023-02-21 18:24:12 -08:00
macvlan.c
macvtap.c
Makefile net: thunderbolt: Move into own directory 2023-01-12 21:19:30 -08:00
mdio.c
mhi_net.c
mii.c
net_failover.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c tap: add support for IOCB_NOWAIT 2023-03-10 16:48:32 -08:00
tun.c tun: flag the device as supporting FMODE_NOWAIT 2023-03-10 16:47:22 -08:00
veth.c drivers: net: turn on XDP features 2023-02-02 20:48:23 -08:00
virtio_net.c net: virtio_net: implement exact header length guest feature 2023-03-13 16:32:16 -07:00
vrf.c net: vrf: determine the dst using the original ifindex for multicast 2022-12-21 17:47:37 -08:00
vsockmon.c
xen-netfront.c drivers: net: turn on XDP features 2023-02-02 20:48:23 -08:00