OSDN Git Service

veth: Handle xdp_frames in xdp napi ring
authorToshiaki Makita <makita.toshiaki@lab.ntt.co.jp>
Fri, 3 Aug 2018 07:58:13 +0000 (16:58 +0900)
committerDaniel Borkmann <daniel@iogearbox.net>
Fri, 10 Aug 2018 14:12:21 +0000 (16:12 +0200)
commit9fc8d518d9d590998209f2686e026a488f65d41e
tree1798c858c52119b87408a2d020b66e7885c92eff
parenta8d5b4ab353738e16e5f9d21ab1e3d44b37983d0
veth: Handle xdp_frames in xdp napi ring

This is preparation for XDP TX and ndo_xdp_xmit.
This allows napi handler to handle xdp_frames through xdp ring as well
as sk_buff.

v8:
- Don't use xdp_frame pointer address to calculate skb->head and
  headroom.

v7:
- Use xdp_scrub_frame() instead of memset().

v3:
- Revert v2 change around rings and use a flag to differentiate skb and
  xdp_frame, since bulk skb xmit makes little performance difference
  for now.

v2:
- Use another ring instead of using flag to differentiate skb and
  xdp_frame. This approach makes bulk skb transmit possible in
  veth_xmit later.
- Clear xdp_frame feilds in skb->head.
- Implement adjust_tail.

Signed-off-by: Toshiaki Makita <makita.toshiaki@lab.ntt.co.jp>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Acked-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
drivers/net/veth.c