On Thu, Jun 04, 2026 at 03:39:25PM +1000, Luke Howard wrote: > On 3 Jun 2026, at 5:35 pm, Nikolay Aleksandrov <[email protected]> wrote: > > So looking at how this is implemented, why not put most of it in TC? > > It is testing for skb class, for tc qdisc, I don't see a reason for it > > to be in the bridge at all. You can filter the mcast groups and simulate > > the "reserved" flag, it has to be set manually anyway. Adding new > > tests in the bridge software fast-path just for this is a waste. > > This makes sense. Maybe it’s better to use flower+TCAM to implement this, and > have our SRP daemon manage flower entries in addition to MDB entries. The > mv88e6xxx driver’s TCAM support is recent (hi Cedric!) and does not yet > appear to support the 6352 or matching on PCP/DA, but one presumes this is > possible to add. > > Alternatively, responding to your comments, the bridge could mark frames with > a “stream reserved” DA with a new tc_skb_ext bit, which would be surfaced to > flower similarly to l2_miss. The rest of the policy would live in the flower > rule. MDB_FLAGS_STREAM_RESERVED would remain but > IFLA_BRPORT_FILTER_STREAM_RESERVED could go (we would dynamically enable the > equivalent in mv88e6xxx by refcounting MDB_FLAGS_STREAM_RESERVED entries). >
I don't know if this can be done in TC. For the usecase of SRP the Marvell has bits in it's mac entries to specify is an AVB entry. This looks vendor specific, and other vendors don't have it. But the concept comes from the 802.1Q spec. The spec describes different types of FDB entries. One of these is Dynamic Reservation Entries, which are created from the Stream Reservation Protocol. The issue here is the Marvell switch has an implementation where we need to know if an entry is a Dynamic Reservation Entry. But the linux bridge has a simplified version of the FDB described in 802.1Q. By adding a way to distinguish between the type of FDB entries, it's possible to program a Marvell which has this distinction between Dynamic Reservation Entries (or AVB entries) and other entries. Cedric

