lkml.org 
[lkml]   [2023]   [Feb]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH net-next 5/5] net: dsa: mv88e6xxx: implementation of dynamic ATU entries
On 2023-02-04 09:12, Simon Horman wrote:
> On Fri, Feb 03, 2023 at 10:44:22PM +0200, Vladimir Oltean wrote:
>> On Fri, Feb 03, 2023 at 09:20:22AM +0100, Simon Horman wrote:
>> > > else if (someflag)
>> > > dosomething();
>> > >
>> > > For now only one flag will actually be set and they are mutually exclusive,
>> > > as they will not make sense together with the potential flags I know, but
>> > > that can change at some time of course.
>> >
>> > Yes, I see that is workable. I do feel that checking for other flags would
>> > be a bit more robust. But as you say, there are none. So whichever
>> > approach you prefer is fine by me.
>>
>> The model we have for unsupported bits in the
>> SWITCHDEV_ATTR_ID_PORT_PRE_BRIDGE_FLAGS
>> and SWITCHDEV_ATTR_ID_PORT_BRIDGE_FLAGS handlers is essentially this:
>>
>> if (flags & ~(supported_flag_mask))
>> return -EOPNOTSUPP;
>>
>> if (flags & supported_flag_1)
>> ...
>>
>> if (flags & supported_flag_2)
>> ...
>>
>> I suppose applying this model here would address Simon's extensibility
>> concern.
>
> Yes, that is the model I had in mind.

The only thing is that we actually need to return both 0 and -EOPNOTSUPP
for unsupported flags. The dynamic flag requires 0 when not supported
(and supported) AFAICS.
Setting a mask as 'supported' for a feature that is not really supported
defeats the notion of 'supported' IMHO.

\
 
 \ /
  Last update: 2023-03-27 00:09    [W:0.069 / U:1.864 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site