On Wed, Jul 6, 2022 at 3:28 PM Vladimir Oltean <olteanv@xxxxxxxxx> wrote: > > On Tue, Jul 05, 2022 at 05:05:52PM +0200, Hans S wrote: > > Hi, does anybody know what it going on with this variable? > > struct dsa_port *dp ->ageing_time; > > > > I experience that it changes value like a factor ~10 at times. > > Could you be a bit more specific? Are you talking about STP Topology > Change Notification BPDUs, which trigger this code path? > > diff --git a/net/bridge/br_stp.c b/net/bridge/br_stp.c > index 7d27b2e6038f..9b25bc2dcb3e 100644 > --- a/net/bridge/br_stp.c > +++ b/net/bridge/br_stp.c > @@ -671,10 +671,10 @@ void __br_set_topology_change(struct net_bridge *br, unsigned char val) > > if (val) { > t = 2 * br->forward_delay; > - br_debug(br, "decreasing ageing time to %lu\n", t); > + br_info(br, "decreasing ageing time to %lu\n", t); > } else { > t = br->bridge_ageing_time; > - br_debug(br, "restoring ageing time to %lu\n", t); > + br_info(br, "restoring ageing time to %lu\n", t); > } > > err = __set_ageing_time(br->dev, t); > > Coincidentally the default values of 2 * br->forward_delay and br->bridge_ageing_time > are 1 order of magnitude apart from each other. > > [ 139.998310] br0: topology change detected, propagating > [ 140.003490] br0: decreasing ageing time to 3000 > [ 175.193054] br0: restoring ageing time to 30000 > > What's the problem anyway? It might be a topology change as you indicate, though I am not sure. So I am not using that variable any more for determining the ageing time for the locked FDB entries, but instead I have made a function to read the time from the chip instead. The problem with that, I have mentioned in my latest reply to the mac-auth patch set...