Subject: Re: [net-next V4 PATCH 2/5] bpf: XDP_REDIRECT enable use of cpumap

From: Jesper Dangaard Brouer <[email-masked]>
Date: Fri, 6 Oct 2017 14:01:23 +0200

On Fri, 6 Oct 2017 13:17:48 +0200
Jesper Dangaard Brouer <[email-masked]> wrote:

> > > -int cpu_map_enqueue(struct bpf_cpu_map_entry *rcpu, struct xdp_buff *xdp)
> > > +int cpu_map_enqueue(struct bpf_cpu_map_entry *rcpu, struct xdp_buff *xdp,
> > > +		    struct net_device *dev_rx)
> > >   {
> > >   	struct xdp_pkt *xdp_pkt;
> > >   	int headroom;
> > > @@ -505,7 +506,7 @@ int cpu_map_enqueue(struct bpf_cpu_map_entry *rcpu, struct xdp_buff *xdp)
> > >   	xdp_pkt = xdp->data_hard_start;
> > >   	xdp_pkt->data = xdp->data;
> > >   	xdp_pkt->len  = xdp->data_end - xdp->data;
> > > -	xdp_pkt->headroom = headroom;
> > > +	xdp_pkt->headroom = headroom - sizeof(*xdp_pkt);    
> > 
> > (Just a note, bit confusing that first two patches add and extend
> >   this, and only in the third you add the xdp->data_meta handling,
> >   makes it harder to review at least.)  
> 
> Sorry.  This is a left-overs from rebasing and measuring the cost of
> transferring only the pointer to the page, and remote put_page().
> And your xdp->data_meta, happen basically while my patches was in-flight.
> 
> I'll move this one-line back to patch 2, to spreading over too many
> patches.

I instead choose to move the creation of cpu_map_enqueue() into this
patch, but in a more simple version stating explicit that this is only
seen as a void pointer enqueue.

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