Subject: Re: [PATCH v7 bpf-next 05/10] veth: Handle xdp_frames in xdp napi ring

From: Jesper Dangaard Brouer <[email-masked]>
Date: Thu, 2 Aug 2018 13:45:48 +0200

On Thu,  2 Aug 2018 19:55:09 +0900
Toshiaki Makita <[email-masked]> wrote:

> +	headroom = frame->data - delta - (void *)frame;

Your calculation of headroom is still adding an assumption that
xdp_frame is located in the top of data area, that is unnecessary.

The headroom can be calculated as:

 headroom = sizeof(struct xdp_frame) + frame->headroom - delta;

> +	skb = veth_build_skb(frame, headroom, len, 0);
> +	if (!skb) {
> +		xdp_return_frame(frame);
> +		goto err;
> +	}
> +
> +	xdp_scrub_frame(frame);

Thanks you for adding a xdp_scrub_frame() instead.

-- 
Best regards,
  Jesper Dangaard Brouer
  MSc.CS, Principal Kernel Engineer at Red Hat
  LinkedIn: http://www.linkedin.com/in/brouer