CRS328-24P-4S+ (7.23.1) — bridge host table grows to ~13.7k and hardware ageing stops purging; unknown-unicast flooding every ~2–3 days

Setup: CRS328-24P-4S+ (Marvell 98DX3236), RouterOS 7.23.1 stable, factory 6.47.4. One bridge, hardware offload on all 26 active ports, vlan-filtering=no, ~49 VLAN interfaces on the bridge, ageing-time=5m, max-learned-entries=auto. Role: FWA aggregation switch — Cambium ePMP and Ubiquiti airMAX APs on the access ports, PoP router on sfp-sfpplus1. L3 offload off.

Symptom: After a reboot, /interface bridge host print count-only starts in the hundreds and climbs steadily (~5–30 new entries/min) until it plateaus at ~13,700 about 2–3 days later. At that point learning fails — destinations with heavy live traffic are absent from the table (find mac-address= returns nothing) and their unicast is flooded out every port. Captured on an AP's radio interface: ~8,000 pps of other customers' downloads being transmitted over the air. Customers on the weakest/furthest APs lose service. Reboot clears it; cycle repeats.

What I tested:

  • At ~13.6k entries, set ageing-time=1m: count moved 13,643 → 13,566 in 2+ minutes. Essentially nothing aged.
  • Fresh after reboot at 771 entries, set ageing-time=15s: 771 → 645 within 60 s. Ageing works when the table is small.
  • print count-only where aged = 0 at all times.
  • Growth rate vs. size: a live population needing 13k entries at 5m ageing would require ~2,600 new MACs/min; observed arrivals are ~5–30/min. Consistent with accumulation without expiry, not a large live population.
  • ~50% of accumulated entries have the locally-administered bit set — looks like random transient MACs that should have expired long ago.
  • CPU is single-core ARM 800 MHz; idle ~15–25%, but /export pushes it to 99% for several seconds. Memory fine (420+ MiB free).

Questions:

  1. Is hardware FDB ageing on CRS3xx known to stall as the table grows on 7.2x? Any version where this was fixed or regressed?
  2. Is ageing on 98DX3236 done by the chip or software-assisted on this platform?
  3. Any way to flush hardware host entries per port without a reboot, or to cap learning per port?

Current workaround: scheduled nightly reboot. Happy to provide supout.rif.

Hi,

have you tried 7.24.1?
Changelog, admins should follow it just for knowledge, says:

what means that "fix stability" could cover your problem.

Thanks. 7.24.1 installed this afternoon (OS + RouterBOOT); the "Rx traffic stall on CPU for Marvell Prestera" and 98DX3236 lines in that changelog looked relevant. I'm logging the bridge host count every 5 minutes; on 7.23.1 it went from ~800 at 25 min to ~13.7k at 2.5 days with nothing ageing out. I'll post the 7.24.1 curve here in a day or two.