Re: [PATCH net-next v3 10/12] net: dsa: support switchdev ageing time attr

From: Florian Fainelli
Date: Tue Jul 19 2016 - 13:24:49 EST


On 07/19/2016 07:20 AM, Andrew Lunn wrote:
> On Mon, Jul 18, 2016 at 09:26:00PM -0700, Florian Fainelli wrote:
>> Le 18/07/2016 Ã 20:24, Andrew Lunn a Ãcrit :
>>> On Mon, Jul 18, 2016 at 08:45:38PM -0400, Vivien Didelot wrote:
>>>> Add a new function for DSA drivers to handle the switchdev
>>>> SWITCHDEV_ATTR_ID_BRIDGE_AGEING_TIME attribute.
>>>>
>>>> The ageing time is passed as milliseconds.
>>>>
>>>> Also because we can have multiple logical bridges on top of a physical
>>>> switch and ageing time are switch-wide, call the driver function with
>>>> the fastest ageing time in use on the chip instead of the requested one.
>>>>
>>>> Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx>
>>>> ---
>>>> include/net/dsa.h | 2 ++
>>>> net/dsa/slave.c | 41 +++++++++++++++++++++++++++++++++++++++++
>>>
>>
>> Hi Andrew,
>>
>>> Hi Florian
>>>
>>> It looks like the SF2 can do fast ageing per port. What i don't see if
>>> what configuration options you have. Can you get the fast and the
>>> normal age time per port? Or is it global?
>>
>> The normal ageing is global and the value needs to be programmed in
>> seconds, can can range from 10 to 1,048,575 (encoded on 20 bits). The
>> fast-ageing can actually be per-port, per-VLAN id, for just dynamic or
>> static entries etc. and is just a poor name for a flush based on any of
>> these criteria.
>
> Hi Florian
>
> So fast ageing does not have a timer value associated to it? It is
> just a flush?

Correct, it's a flush operation which is internally implemented/named as
a fast aging, as in fast enough it is almost instantenous from the
programmer's perspective.

>
> If so, the code Vivien is proposing in DSA slave is O.K. If however
> there was a per port timer, Vivien's code is too high in the stack,
> blocking SF2 from being able to use per-port timers. That is what i'm
> trying to get at.

Browsing through all the generations, there does not seem to be any
per-port aging, it's always global.
--
Florian