[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <158446612466.702578.2795159620575737080.stgit@firesoul>
Date: Tue, 17 Mar 2020 18:29:07 +0100
From: Jesper Dangaard Brouer <brouer@...hat.com>
To: sameehj@...zon.com
Cc: thomas.petazzoni@...tlin.com,
Andy Gospodarek <andrew.gospodarek@...adcom.com>,
Jeff Kirsher <jeffrey.t.kirsher@...el.com>,
Michael Chan <michael.chan@...adcom.com>,
Jesper Dangaard Brouer <brouer@...hat.com>,
netdev@...r.kernel.org, bpf@...r.kernel.org, zorik@...zon.com,
akiyano@...zon.com, gtzalik@...zon.com,
Toke Høiland-Jørgensen <toke@...e.dk>,
Daniel Borkmann <borkmann@...earbox.net>,
Alexei Starovoitov <alexei.starovoitov@...il.com>,
John Fastabend <john.fastabend@...il.com>,
Alexander Duyck <alexander.duyck@...il.com>,
Jeff Kirsher <jeffrey.t.kirsher@...el.com>,
David Ahern <dsahern@...il.com>,
Willem de Bruijn <willemdebruijn.kernel@...il.com>,
Ilias Apalodimas <ilias.apalodimas@...aro.org>,
Lorenzo Bianconi <lorenzo@...nel.org>
Subject: [PATCH RFC v1 00/15] XDP extend with knowledge of frame size
Early RFC *before* I finish converting all drivers... so I can get
feedback that might affect the design...
XDP have evolved to support several frame sizes, but xdp_buff was not
updated with this information. This have caused the side-effect that XDP
frame data hard end is not known. It also limited the BPF-helper
bpf_xdp_adjust_tail to only shrink the packet.
This patchset tries to address this and add packet tail extend/grow.
The purpose of the patchset is ALSO to reserve a memory area that can be
used for storing extra information, specifically for extending XDP with
multi-buffer support. One proposal is to use same layout as
skb_shared_info, which is why this area is currently 320 bytes.
---
Jesper Dangaard Brouer (15):
xdp: add frame size to xdp_buff
mvneta: add XDP frame size to driver
bnxt: add XDP frame size to driver
ixgbe: fix XDP redirect on archs with PAGE_SIZE above 4K
ixgbe: add XDP frame size to driver
sfc: fix XDP-redirect in this driver
sfc: add XDP frame size
xdp: allow bpf_xdp_adjust_tail() to grow packet size
xdp: clear grow memory in bpf_xdp_adjust_tail()
net: XDP-generic determining XDP frame size
xdp: xdp_frame add member frame_sz and handle in convert_to_xdp_frame
xdp: cpumap redirect use frame_sz and increase skb_tailroom
tun: add XDP frame size
veth: xdp using frame_sz in veth driver
dpaa2-eth: add XDP frame size
drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c | 1 +
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c | 1 +
drivers/net/ethernet/intel/ixgbe/ixgbe.h | 17 ++++++++++++
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 17 +++++++-----
drivers/net/ethernet/marvell/mvneta.c | 1 +
drivers/net/ethernet/sfc/efx_common.c | 9 ++++--
drivers/net/ethernet/sfc/net_driver.h | 6 ++++
drivers/net/ethernet/sfc/rx.c | 3 +-
drivers/net/ethernet/sfc/rx_common.c | 6 ++--
drivers/net/tun.c | 2 +
drivers/net/veth.c | 15 +++++++++--
include/net/xdp.h | 31 +++++++++++++++++++++-
include/uapi/linux/bpf.h | 4 +--
kernel/bpf/cpumap.c | 21 ++-------------
net/core/dev.c | 14 ++++++----
net/core/filter.c | 24 ++++++++++++++++-
net/core/xdp.c | 7 +++++
17 files changed, 133 insertions(+), 46 deletions(-)
--
Powered by blists - more mailing lists