Subject: Re: [net-next, PATCH 2/2, v2] net: socionext: add XDP support

From: Jesper Dangaard Brouer <[email-masked]>
Date: Thu, 13 Sep 2018 16:32:06 +0200

On Wed, 12 Sep 2018 12:29:15 +0300
Ilias Apalodimas <[email-masked]> wrote:

> On Wed, Sep 12, 2018 at 11:25:24AM +0200, Jesper Dangaard Brouer wrote:
> > On Wed, 12 Sep 2018 12:02:38 +0300
> > Ilias Apalodimas <[email-masked]> wrote:
> >   
> > >  static const struct net_device_ops netsec_netdev_ops = {
> > >  	.ndo_init		= netsec_netdev_init,
> > >  	.ndo_uninit		= netsec_netdev_uninit,
> > > @@ -1430,6 +1627,7 @@ static const struct net_device_ops netsec_netdev_ops = {
> > >  	.ndo_set_mac_address    = eth_mac_addr,
> > >  	.ndo_validate_addr	= eth_validate_addr,
> > >  	.ndo_do_ioctl		= netsec_netdev_ioctl,
> > > +	.ndo_bpf		= netsec_xdp,
> > >  };
> > >    
> > 
> > You have not implemented ndo_xdp_xmit.
> > 
> > Thus, you have "only" implemented the RX side of XDP_REDIRECT.  Which
> > allows you to do, cpumap and AF_XDP redirects, but not allowing other
> > drivers to XDP send out this device.  
>
> Correct, that was the planning, is ndo_xdp_xmit() needed for the patch or
> is the patch message just misleading and i should change that ?

Yes, I think you should ALSO implement ndo_xdp_xmit, maybe as a separate
patch, but in the same series. (Our experience is that if we don't
require this, people forget to complete this part of the XDP support).

Also you XDP_TX is not optimal, as it (looks like) you flush TX on
every send.

BTW, do you have any performance numbers?

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