On 2023-02-03 09:17, Simon Horman wrote:
On Thu, Feb 02, 2023 at 05:45:56PM +0100, netdev@xxxxxxxxxxxxxxxxxxxx
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.
No noise at all... I think your concern is quite ligitimate. With this
flag there is no iproute2 changes, so not to change behaviour of old
commands the best is to ignore silently. But I have another flag coming
up that will be accomodated with a new iproute2 command, and then your
suggestion is more appropriate. The question will then be if the returns
for that flag should be -EOPNOTSUPP.