Merge branch 'xdp-head-adjustment'
authorDavid S. Miller <davem@davemloft.net>
Thu, 8 Dec 2016 19:25:14 +0000 (14:25 -0500)
committerDavid S. Miller <davem@davemloft.net>
Thu, 8 Dec 2016 19:25:14 +0000 (14:25 -0500)
commit293bfa9b48614137c1514bd091dff8e2a894dad7
treee772f55d041956a3e07a487b48b42df8a0b830bf
parent8a03cf2cb7efe269913db079afb8c31f20bf0bef
parent12d8bb64e3f65f5287ff17c084d076a28daa8096
Merge branch 'xdp-head-adjustment'

Martin KaFai Lau says:

====================
Allow head adjustment in XDP prog

This series adds a helper to allow head adjusting in XDP prog.  mlx4
driver has been modified to support this feature.  An example is written
to encapsulate a packet with an IPv4/v6 header and then XDP_TX it
out.

v4:
1. Remove XDP_QUERY_FEATURES command.  Instead, check
   the prog->xdp_adjust_head bit inside the driver itself
   during XDP_SETUP_PROG in patch 1of4.
   Thanks for everybody's ideas.
2. Nit changes on sample code per Jesper

v3:
1. Check if the driver supports head adjustment before
   setting the xdp_prog fd to the device in patch 1of4.
2. Remove the page alignment assumption on the data_hard_start.
   Instead, add data_hard_start to the struct xdp_buff and the
   driver has to fill it if it supports head adjustment.
3. Keep the wire MTU as before in mlx4
4. Set map0_byte_count to PAGE_SIZE in patch 3of4

v2:
1. Make a variable name change in bpf_xdp_adjust_head() in patch 1
2. Ensure no less than ETH_HLEN data in bpf_xdp_adjust_head() in patch 1
3. Some clarifications in commit log messages of patch 2 and 3
====================

Signed-off-by: David S. Miller <davem@davemloft.net>