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

netdev at kapio-technology.com netdev at kapio-technology.com
Fri Feb 3 10:41:18 PST 2023


On 2023-02-03 09:17, Simon Horman wrote:
> On Thu, Feb 02, 2023 at 05:45:56PM +0100, netdev at kapio-technology.com 
> 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.



More information about the linux-arm-kernel mailing list