mirror_ubuntu-kernels/drivers/net/ethernet/intel
Alexander Lobakin f322a620be ixgbe: respect metadata on XSK Rx to skb
For now, if the XDP prog returns XDP_PASS on XSK, the metadata
will be lost as it doesn't get copied to the skb.

Copy it along with the frame headers. Account its size on skb
allocation, and when copying just treat it as a part of the frame
and do a pull after to "move" it to the "reserved" zone.

net_prefetch() xdp->data_meta and align the copy size to speed-up
memcpy() a little and better match ixgbe_construct_skb().

Fixes: d0bcacd0a1 ("ixgbe: add AF_XDP zero-copy Rx support")
Suggested-by: Jesper Dangaard Brouer <brouer@redhat.com>
Suggested-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Signed-off-by: Alexander Lobakin <alexandr.lobakin@intel.com>
Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Tested-by: Sandeep Penigalapati <sandeep.penigalapati@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2022-01-31 09:50:20 -08:00
..
e1000 e1000: switch to napi_build_skb() 2021-12-28 09:42:25 -08:00
e1000e e1000e: Remove useless DMA-32 fallback configuration 2022-01-27 08:58:24 -08:00
fm10k fm10k: Fix syntax errors in comments 2021-12-21 09:17:47 -08:00
i40e i40e: respect metadata on XSK Rx to skb 2022-01-31 09:42:58 -08:00
iavf iavf: Remove useless DMA-32 fallback configuration 2022-01-27 08:58:24 -08:00
ice ice: respect metadata on XSK Rx to skb 2022-01-31 09:46:05 -08:00
igb igb: Remove useless DMA-32 fallback configuration 2022-01-27 08:58:24 -08:00
igbvf igbvf: Remove useless DMA-32 fallback configuration 2022-01-27 08:58:24 -08:00
igc igc: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb 2022-01-31 09:47:13 -08:00
ixgb ixgb: Remove useless DMA-32 fallback configuration 2022-01-27 08:58:23 -08:00
ixgbe ixgbe: respect metadata on XSK Rx to skb 2022-01-31 09:50:20 -08:00
ixgbevf ixgbevf: Remove useless DMA-32 fallback configuration 2022-01-27 08:58:24 -08:00
e100.c ethtool: extend ringparam setting/getting API with rx_buf_len 2021-11-22 12:31:49 +00:00
Kconfig ice: support crosstimestamping on E822 devices if supported 2021-12-21 09:11:40 -08:00
Makefile