Subject: Re: [RFC v2 bpf-next 3/7] xsk: add usage of XDP features flags

From: Lorenzo Bianconi <[email-masked]>
Date: Wed, 18 Jan 2023 00:34:01 +0100

> 
> 
> On 1/14/23 7:54 AM, Lorenzo Bianconi wrote:
> > From: Marek Majtyka <[email-masked]>
> > 
> > Change necessary condition check for XSK from ndo functions to
> > xdp features flags.
> > 
> > Signed-off-by: Marek Majtyka <[email-masked]>
> > Signed-off-by: Lorenzo Bianconi <[email-masked]>
> > ---
> >   net/xdp/xsk_buff_pool.c | 3 +--
> >   1 file changed, 1 insertion(+), 2 deletions(-)
> > 
> > diff --git a/net/xdp/xsk_buff_pool.c b/net/xdp/xsk_buff_pool.c
> > index ed6c71826d31..2e6fa082142a 100644
> > --- a/net/xdp/xsk_buff_pool.c
> > +++ b/net/xdp/xsk_buff_pool.c
> > @@ -178,8 +178,7 @@ int xp_assign_dev(struct xsk_buff_pool *pool,
> >   		/* For copy-mode, we are done. */
> >   		return 0;
> > -	if (!netdev->netdev_ops->ndo_bpf ||
> > -	    !netdev->netdev_ops->ndo_xsk_wakeup) {
> > +	if ((netdev->xdp_features & NETDEV_XDP_ACT_ZC) != NETDEV_XDP_ACT_ZC) {
> 
> Maybe:
> 	if (!(netdev->xdp_features & NETDEV_XDP_ACT_ZC))

I would say it not equivalent since:

NETDEV_XDP_ACT_ZC = 0x5f

and we want the device supports all the ZC requested features. Agree?

Regards,
Lorenzo

> ?
> >   		err = -EOPNOTSUPP;
> >   		goto err_unreg_pool;
> >   	}