net: stmmac: Add support for XDP_TX action
authorOng Boon Leong <boon.leong.ong@intel.com>
Thu, 1 Apr 2021 02:11:16 +0000 (10:11 +0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 3 Apr 2021 21:13:39 +0000 (14:13 -0700)
commitbe8b38a722e68ffa069b7dfa887369c33d6ea886
tree88a3138096cd19d3655f39c1a0c42887036a2836
parent5fabb01207a2d3439a6abe1d08640de9c942945f
net: stmmac: Add support for XDP_TX action

This patch adds support for XDP_TX action which enables XDP program to
transmit back received frames.

This patch has been tested with the "xdp2" app located in samples/bpf
dir. The DUT receives burst traffic packet generated using pktgen script
'pktgen_sample03_burst_single_flow.sh'.

v4: Moved stmmac_tx_timer_arm() to be done once at the end of NAPI RX.
    Fixed stmmac_xdp_xmit_back() to return STMMAC_XDP_CONSUMED if
    XDP buffer to frame conversion fails. Thanks to Jakub's input.

v3: Added 'nq->trans_start = jiffies' to avoid TX time-out as we are
    sharing TX queue between slow path and XDP. Thanks to Jakub Kicinski
    for pointing out.

Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/stmicro/stmmac/stmmac.h
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c