Vladimir Oltean
2022-Mar-23 14:43 UTC
[Bridge] [PATCH v2 net-next 2/4] net: switchdev: add support for offloading of fdb locked flag
On Wed, Mar 23, 2022 at 01:49:32PM +0100, Hans Schultz wrote:> >> Does someone have an idea why there at this point is no option to add a > >> dynamic fdb entry? > >> > >> The fdb added entries here do not age out, while the ATU entries do > >> (after 5 min), resulting in unsynced ATU vs fdb. > > > > I think the expectation is to use br_fdb_external_learn_del() if the > > externally learned entry expires. The bridge should not age by itself > > FDB entries learned externally. > > > > It seems to me that something is missing then? > My tests using trafgen that I gave a report on to Lunn generated massive > amounts of fdb entries, but after a while the ATU was clean and the fdb > was still full of random entries...I'm no longer sure where you are, sorry.. I think we discussed that you need to enable ATU age interrupts in order to keep the ATU in sync with the bridge FDB? Which means either to delete the locked FDB entries from the bridge when they age out in the ATU, or to keep refreshing locked ATU entries. So it seems that you're doing neither of those 2 things if you end up with bridge FDB entries which are no longer in the ATU.
Hans Schultz
2022-Mar-23 15:03 UTC
[Bridge] [PATCH v2 net-next 2/4] net: switchdev: add support for offloading of fdb locked flag
On ons, mar 23, 2022 at 16:43, Vladimir Oltean <olteanv at gmail.com> wrote:> On Wed, Mar 23, 2022 at 01:49:32PM +0100, Hans Schultz wrote: >> >> Does someone have an idea why there at this point is no option to add a >> >> dynamic fdb entry? >> >> >> >> The fdb added entries here do not age out, while the ATU entries do >> >> (after 5 min), resulting in unsynced ATU vs fdb. >> > >> > I think the expectation is to use br_fdb_external_learn_del() if the >> > externally learned entry expires. The bridge should not age by itself >> > FDB entries learned externally. >> > >> >> It seems to me that something is missing then? >> My tests using trafgen that I gave a report on to Lunn generated massive >> amounts of fdb entries, but after a while the ATU was clean and the fdb >> was still full of random entries... > > I'm no longer sure where you are, sorry.. > I think we discussed that you need to enable ATU age interrupts in order > to keep the ATU in sync with the bridge FDB? Which means either to > delete the locked FDB entries from the bridge when they age out in the > ATU, or to keep refreshing locked ATU entries. > So it seems that you're doing neither of those 2 things if you end up > with bridge FDB entries which are no longer in the ATU.Right, there was much that needed my attention, so after the other issues are taken care of, I can focus on this. So I thought there was some general machanism in place already, but I see that Ineed to enable the IntOnAgeOut interrupt and handle ATU age out violations.
Hans Schultz
2022-Mar-24 10:32 UTC
[Bridge] [PATCH v2 net-next 2/4] net: switchdev: add support for offloading of fdb locked flag
On ons, mar 23, 2022 at 16:43, Vladimir Oltean <olteanv at gmail.com> wrote:> On Wed, Mar 23, 2022 at 01:49:32PM +0100, Hans Schultz wrote: >> >> Does someone have an idea why there at this point is no option to add a >> >> dynamic fdb entry? >> >> >> >> The fdb added entries here do not age out, while the ATU entries do >> >> (after 5 min), resulting in unsynced ATU vs fdb. >> > >> > I think the expectation is to use br_fdb_external_learn_del() if the >> > externally learned entry expires. The bridge should not age by itself >> > FDB entries learned externally. >> > >> >> It seems to me that something is missing then? >> My tests using trafgen that I gave a report on to Lunn generated massive >> amounts of fdb entries, but after a while the ATU was clean and the fdb >> was still full of random entries... > > I'm no longer sure where you are, sorry.. > I think we discussed that you need to enable ATU age interrupts in order > to keep the ATU in sync with the bridge FDB? Which means either to > delete the locked FDB entries from the bridge when they age out in the > ATU, or to keep refreshing locked ATU entries. > So it seems that you're doing neither of those 2 things if you end up > with bridge FDB entries which are no longer in the ATU.Any idea why G2 offset 5 ATUAgeIntEn (bit 10) is set? There is no define for it, so I assume it is something default?