linux/drivers/net
Alexander Lobakin 084ceda7de libeth: xdp: add .ndo_xdp_xmit() helpers
Add helpers for implementing .ndo_xdp_xmit().
Same as for XDP_TX, accumulate up to 16 DMA-mapped frames on the stack,
then flush. If DMA mapping is failed for some reason, don't try mapping
further frames, but still flush what was already prepared.
DMA address of a head frame is stored in its headroom, assuming it
has enough of it for an 8 (or 4) byte value.
In addition to @prep and @xmit driver callbacks in XDP_TX, xmit also
needs @finalize to kick the XDPSQ after filling.

Signed-off-by: Alexander Lobakin <aleksander.lobakin@intel.com>
Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2025-06-16 11:40:14 -07:00
..
arcnet treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
bonding net: core: Convert dev_set_mac_address() to struct sockaddr_storage 2025-05-27 08:25:43 +02:00
caif
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-06-12 10:09:10 -07:00
dsa net: Use dev_fwnode() 2025-06-12 18:46:37 -07:00
ethernet libeth: xdp: add .ndo_xdp_xmit() helpers 2025-06-16 11:40:14 -07:00
fddi treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
fjes
hamradio treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
hippi treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
hyperv net: drv: hyperv: migrate to new RXFH callbacks 2025-06-12 17:47:09 -07:00
ieee802154
ipa net: ipa: Make the SMEM item ID constant 2025-05-13 15:42:50 -07:00
ipvlan
mctp net: mctp: start tx queue on netdev open 2025-05-27 17:23:19 -07:00
mdio net: mdio: mux-gpio: use gpiod_multi_set_value_cansleep 2025-06-12 18:37:51 -07:00
netdevsim net: drv: netdevsim: don't napi_complete() from netpoll 2025-06-12 08:11:52 -07:00
ovpn ovpn: avoid sleep in atomic context in TCP RX error path 2025-06-03 13:08:15 +02:00
pcs
phy net: phy: dp83tg720: switch to adaptive polling and remove random delays 2025-06-13 18:09:47 -07:00
plip
ppp ppp: convert to percpu netstats 2025-06-11 14:11:48 -07:00
pse-pd
slip treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
team net: core: Convert dev_set_mac_address() to struct sockaddr_storage 2025-05-27 08:25:43 +02:00
thunderbolt
usb net: Use dev_fwnode() 2025-06-12 18:46:37 -07:00
vmxnet3 net: drv: vmxnet3: migrate to new RXFH callbacks 2025-06-12 17:16:20 -07:00
vxlan treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
wan treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
wireguard treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
wireless Including fixes from bluetooth and wireless. 2025-06-12 09:50:36 -07:00
wwan net: wwan: mhi_wwan_mbim: use correct mux_id for multiplexing 2025-06-05 12:27:20 +02:00
xen-netback treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
Kconfig
LICENSE.SRC
Makefile
Space.c
amt.c net: amt: convert to use secs_to_jiffies 2025-06-14 10:53:56 -07:00
bareudp.c
dummy.c
eql.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
geneve.c
gtp.c
ifb.c
loopback.c
macsec.c macsec: MACsec SCI assignment for ES = 0 2025-06-11 10:12:01 +01:00
macvlan.c net: core: Convert dev_set_mac_address() to struct sockaddr_storage 2025-05-27 08:25:43 +02:00
macvtap.c
mdio.c
mhi_net.c
mii.c
net_failover.c
netconsole.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-06-12 10:09:10 -07:00
netkit.c
nlmon.c
ntb_netdev.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
pfcp.c pfcp: Convert pfcp_net_exit() to ->exit_rtnl(). 2025-04-22 19:07:41 -07:00
rionet.c
sungem_phy.c
tap.c net: core: Convert dev_set_mac_address_user() to use struct sockaddr_storage 2025-05-27 08:25:43 +02:00
tun.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
tun_vnet.h
veth.c veth: prevent NULL pointer dereference in veth_xdp_rcv 2025-06-12 08:08:32 -07:00
virtio_net.c net: drv: virtio: migrate to new RXFH callbacks 2025-06-12 17:46:58 -07:00
vrf.c net: sched: generalize check for no-queue qdisc on TX queue 2025-04-28 14:06:58 -07:00
vsockmon.c
xen-netfront.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00