]> git.dujemihanovic.xyz Git - linux.git/commit
tsnep: Support XDP BPF program setup
authorGerhard Engleder <gerhard@engleder-embedded.com>
Mon, 16 Jan 2023 20:24:58 +0000 (21:24 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 18 Jan 2023 13:17:06 +0000 (13:17 +0000)
commitf0f6460f91305fc907b6a4ba9846e1586be0a0a2
treef2fe45dac535ef167b050b4c9bfe2bc3ee0261da
parent65b28c810035be7cc753515c8f5227198302eab4
tsnep: Support XDP BPF program setup

Implement setup of BPF programs for XDP RX path with command
XDP_SETUP_PROG of ndo_bpf(). This is the final step for XDP RX path
support.

There is no need to reinit the RX queues as they are always prepared for
XDP.

Additionally remove $(tsnep-y) from $(tsnep-objs) because it is added
automatically.

Test results with A53 1.2GHz:

XDP_DROP (samples/bpf/xdp1)
proto 17:     883878 pkt/s

XDP_TX (samples/bpf/xdp2)
proto 17:     255693 pkt/s

XDP_REDIRECT (samples/bpf/xdpsock)
 sock0@eth2:0 rxdrop xdp-drv
                   pps            pkts           1.00
rx                 855,582        5,404,523
tx                 0              0

XDP_REDIRECT (samples/bpf/xdp_redirect)
eth2->eth1         613,267 rx/s   0 err,drop/s   613,272 xmit/s

Signed-off-by: Gerhard Engleder <gerhard@engleder-embedded.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/engleder/Makefile
drivers/net/ethernet/engleder/tsnep.h
drivers/net/ethernet/engleder/tsnep_main.c
drivers/net/ethernet/engleder/tsnep_xdp.c [new file with mode: 0644]