nfp: Add XDP frame size to netronome driver
authorJesper Dangaard Brouer <brouer@redhat.com>
Thu, 14 May 2020 10:50:29 +0000 (12:50 +0200)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 15 May 2020 04:21:55 +0000 (21:21 -0700)
commitfa6540b8efd8944f8627c2f304114663ef4aadc4
treeb2e6d1f90196c4cd2761099f5587d7a7eee504fa
parentc8145b263dd85f9e589c7c7ba531423d82ca96ae
nfp: Add XDP frame size to netronome driver

The netronome nfp driver use PAGE_SIZE when xdp_prog is set, but
xdp.data_hard_start begins at offset NFP_NET_RX_BUF_HEADROOM.
Thus, adjust for this when setting xdp.frame_sz, as it counts
from data_hard_start.

When doing XDP_TX this driver is smart and instead of a full DMA-map
does a DMA-sync on with packet length. As xdp_adjust_tail can now
grow packet length, add checks to make sure that grow size is within
the DMA-mapped size.

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Reviewed-by: Jakub Kicinski <kuba@kernel.org>
Link: https://lore.kernel.org/bpf/158945342911.97035.11214251236208648808.stgit@firesoul
drivers/net/ethernet/netronome/nfp/nfp_net_common.c