From: David S. Miller Date: Thu, 8 Dec 2016 19:25:14 +0000 (-0500) Subject: Merge branch 'xdp-head-adjustment' X-Git-Tag: v4.10-rc1~202^2~31 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=293bfa9b48614137c1514bd091dff8e2a894dad7;p=linux.git 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 --- 293bfa9b48614137c1514bd091dff8e2a894dad7