Subject: Re: [PATCH net-next 3/5] drivers: net: dsa: add fdb entry flags incoming to switchcore drivers

From: Simon Horman <[email-masked]>
Date: Fri, 3 Feb 2023 09:17:06 +0100

On Thu, Feb 02, 2023 at 05:45:56PM +0100, [email-masked] wrote:
> On 2023-01-31 19:54, Simon Horman wrote:
> > > --- a/drivers/net/dsa/b53/b53_common.c
> > > +++ b/drivers/net/dsa/b53/b53_common.c
> > > @@ -1684,11 +1684,15 @@ static int b53_arl_op(struct b53_device
> > > *dev, int op, int port,
> > > 
> > >  int b53_fdb_add(struct dsa_switch *ds, int port,
> > >  		const unsigned char *addr, u16 vid,
> > > -		struct dsa_db db)
> > > +		u16 fdb_flags, struct dsa_db db)
> > >  {
> > >  	struct b53_device *priv = ds->priv;
> > >  	int ret;
> > > 
> > > +	/* Ignore entries with set flags */
> > > +	if (fdb_flags)
> > > +		return 0;
> > 
> > 
> > 	Would returning -EOPNOTSUPP be more appropriate?
> > 
> > ...
> 
> I don't think that would be so good, as the command
> 
> bridge fdb replace ADDR dev <DEV> master dynamic
> 
> is a valid command and should not generate errors. When ignored by the
> driver, it will just install a dynamic FDB entry in the bridge, and the
> bridge will age it.

Sure, I agree that it's not necessarily an error that needs
to propagate to the user.

My assumption, which I now see is likely false, is that drivers
could return -EOPNOTSUPP, to indicate to higher layers that the operation
is not supported. But the higher layers may not propagate that.

But it seems that is not the case here. So I think return 0 is fine
after all. Sorry for the noise.