igb: Introduce XSK data structures and helpers
authorSriram Yagnaraman <sriram.yagnaraman@est.tech>
Mon, 6 Jan 2025 22:19:11 +0000 (14:19 -0800)
committerJakub Kicinski <kuba@kernel.org>
Wed, 8 Jan 2025 02:14:08 +0000 (18:14 -0800)
commit80f6ccf9f1160ba26cfa4bf90f3cced6f2d12268
tree4ab05893b029f9b224b148d5d119febf04147b64
parent6dc75fc230eceedada4adf8c2857636a9dbd00a8
igb: Introduce XSK data structures and helpers

Add the following ring flag:
- IGB_RING_FLAG_TX_DISABLED (when xsk pool is being setup)

Add a xdp_buff array for use with XSK receive batch API, and a pointer
to xsk_pool in igb_adapter.

Add enable/disable functions for TX and RX rings.
Add enable/disable functions for XSK pool.
Add xsk wakeup function.

None of the above functionality will be active until
NETDEV_XDP_ACT_XSK_ZEROCOPY is advertised in netdev->xdp_features.

Signed-off-by: Sriram Yagnaraman <sriram.yagnaraman@est.tech>
[Kurt: Add READ/WRITE_ONCE(), synchronize_net(),
       remove IGB_RING_FLAG_AF_XDP_ZC]
Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de>
Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Tested-by: George Kuruvinakunnel <george.kuruvinakunnel@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Link: https://patch.msgid.link/20250106221929.956999-4-anthony.l.nguyen@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/intel/igb/Makefile
drivers/net/ethernet/intel/igb/igb.h
drivers/net/ethernet/intel/igb/igb_main.c
drivers/net/ethernet/intel/igb/igb_xsk.c [new file with mode: 0644]