linux/drivers/net/ethernet/intel
Andre Guedes 73f1071c1d igc: Add support for XDP_TX action
Add support for XDP_TX action which enables XDP programs to transmit
back receiving frames.

I225 controller has only 4 Tx hardware queues. Since XDP programs may
not even issue an XDP_TX action, this patch doesn't reserve dedicated
queues just for XDP like other Intel drivers do. Instead, the queues
are shared between the network stack and XDP. The netdev queue lock is
used to ensure mutual exclusion.

Since frames can now be transmitted via XDP_TX, the igc_tx_buffer
structure is modified so we are able to save a reference to the xdp
frame for later clean up once the packet is transmitted. The tx_buffer
is mapped to either a skb or a xdpf so we use a union to save the skb
or xdpf pointer and have a bit in tx_flags to indicate which field to
use.

This patch has been tested with the sample app "xdp2" located in
samples/bpf/ dir.

Signed-off-by: Andre Guedes <andre.guedes@intel.com>
Signed-off-by: Vedang Patel <vedang.patel@intel.com>
Signed-off-by: Jithu Joseph <jithu.joseph@intel.com>
Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Tested-by: Dvora Fuxbrumer <dvorax.fuxbrumer@linux.intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2021-03-29 09:12:19 -07:00
..
e1000 e1000: Fix fall-through warnings for Clang 2021-03-23 11:34:02 -07:00
e1000e Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-03-25 15:31:22 -07:00
fm10k fm10k: Fix fall-through warnings for Clang 2021-03-23 11:34:02 -07:00
i40e Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2021-03-25 16:30:46 -07:00
iavf intel: clean up mismatched header comments 2021-03-23 11:34:02 -07:00
ice Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2021-03-25 16:30:46 -07:00
igb Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2021-03-25 16:30:46 -07:00
igbvf net: igbvf: use skb_csum_is_sctp instead of protocol check 2021-01-19 14:31:25 -08:00
igc igc: Add support for XDP_TX action 2021-03-29 09:12:19 -07:00
ixgb intel: handle unused assignments 2020-09-25 16:28:59 -07:00
ixgbe Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2021-03-25 16:30:46 -07:00
ixgbevf ixgbevf: Fix fall-through warnings for Clang 2021-03-23 11:34:02 -07:00
e100.c e100: switch from 'pci_' to 'dma_' API 2021-01-28 18:31:18 -08:00
Kconfig
Makefile