Re: [PATCH] net: ethernet: ti: cpsw_ale: optimize cpsw_ale_restore()

From: Roger Quadros
Date: Fri Nov 11 2022 - 08:35:57 EST




On 11/11/2022 14:03, Vladimir Oltean wrote:
> On Thu, Nov 10, 2022 at 12:32:49PM -0800, Jakub Kicinski wrote:
>>> I have a question here. How should ageable entries be treated in this case?
>>
>> Ah, no idea :) Let's me add experts to To:
>
> Not a real expert, but if suspend/resume loses the Ethernet link,
> I expect that no dynamically learned entries are preserved across
> a link loss event.

Understood. We loose the link in this particular case.

>
> In DSA for example, we only keep ageable entries in hardware as long as
> the port STP state, plus BR_LEARNING port flag, are compatible with
> having such FDB entries. Otherwise, any transition to such a state
> flushes the ageable FDB entries.
>
> A link loss generates a bridge port transition to the DISABLED state,
> which DSA uses to generate a SWITCHDEV_FDB_FLUSH_TO_BRIDGE event.
>
> I'm not sure if it would even be possible to accurately do the right
> thing and update the ageing timer of the FDB entries with the amount of
> time that the system was suspended.

In that case I'll leave the entries as they are and let the Switch logic
deal with the stale entries. They should eventually get flushed out.

cheers,
-roger