On 06/06/2026 11:02, Luke Howard wrote:

So it sounds like you first need to work on the software
implementation and expand the simplified version with the features you
need. You can then add support to accelerate this by offloading it to
the hardware.

Agreed.

The definition of Dynamic Reservation Entries in 802.1Q (clause 8.8.7) might 
support the addition of a new MDB (or even FDB) entry state to the kernel:

- add MDB_DYNAMIC_RESERVATION (a state, not a flag);
- the software bridge only _classifies_ packets against  
MDB_DYNAMIC_RESERVATION entries, and only when MDB is authoritative. 
Classification sets dynamic_reservation_hit on tc_skb_ext;
- dynamic_reservation_hit is visible to the flow dissector so can be used for 
policy enforcement.


See, saying the bridge has to classify doesn't sound right. Why not do the
classification where such operations are usually done, e.g. tc?
You have to manually designate these entries anyway.

Advantages:

- the new MDB state maps well to 802.1Q;
- minimal changes to bridge;
- actual policy (reclassify, drop, etc) is left to the user;
- doesn’t require a new tc-flower entry for each stream DA;
- entry state maps 1:1 to mv88e6xxx AVB_NRL ATU EntryState.

Disadvantages:

- no unicast support, although potentially can be extended (there are some 
subtleties);
- mv88e6xxx support would either require rich enough tc-flower support in TCAM, 
intercepting TCA_FLOWER_DYNAMIC_RESERVATION_HIT and mapping to native AVB 
admission control, or a per-port devlink parameter (not so nice).

This is implemented and working with the software bridge, I still haven’t quite 
figured out the right mapping for mv88e6xxx.

Luke

PS. I previously incorrectly asserted that 802.1Q required dropping frames with 
AVB/SRP PCPs but without valid dynamic reservation entries. 802.1Q discussions 
priority mapping in clause 6.9.4 for traffic from SRP boundary ports (those not 
participating in SRP). In practice I think this should all be policy, e.g. you 
might want to reprioritise valid DSCP traffic from within a SRP domain, or drop 
instead of reprioritise, etc.


Reply via email to