Calculate throughput and MAC table capacity for a Linux bridge interface.
A Linux software bridge (or hardware switch) forwards frames between ports at Layer 2, and the effective throughput between any two ports is capped by whichever of the two is slower — connecting a Gigabit and a Fast Ethernet port through a bridge means traffic between them can never exceed 100 Mbps regardless of the Gigabit port's own capacity. The bridge also maintains a forwarding database (FDB) mapping learned source MAC addresses to the port they were seen on, and this table's memory footprint scales with the number of distinct active MAC addresses the bridge has learned.
Bridge throughput ceiling
bridge_throughput = min(all_port_speeds)
`bridge fdb show` (from iproute2) or the legacy `brctl showmacs <bridge>` lists learned MAC-to-port mappings, including their aging status. `ip -s -d link show <bridge>` shows bridge-level statistics.
Even matched port speeds share the bridge's internal forwarding capacity and, for software bridges, CPU cycles for frame processing — under heavy multi-port load, aggregate throughput across all ports can be limited by CPU rather than any single port's link speed.
Entries not refreshed within the aging timeout (default 300 seconds, tunable via `ip link set <bridge> type bridge ageing_time <seconds>`) are removed, so a bridge's actual FDB size fluctuates with how many distinct hosts have communicated through it recently rather than growing unbounded.