Re: [PATCH net-next 0/2] net: dsa: mv88e6xxx: add support for dcb pcp app

From: Luke Howard

Date: Thu Jun 04 2026 - 21:33:51 EST


Hi Andrew,

> I don't know enough about AVB, so this might not apply here....
>
> What does the pure software version of AVB look like? Is there a need
> to configure these parameters? If not, why not? If there is, what API
> is currently used?

Qdisc configuration for AVB is described here [1] albeit with reversed numbering of TCs. CBS parameters are usually managed dynamically by SRP (in user space), but static configuration as shown in the link would be common for automative AVB/TSN.

> Ideally, the user should not need to know if some functionality has
> been accelerated by offloading it to hardware. They just configure it
> using the standard Linux model of the feature.

Absolutely, and that was the model I used when building a SRP daemon, which I first tested with the software bridge and some i210s.

One issue is that AVB is typically configured using MQPRIO, which configures egress queue mapping. The Marvell switches support ingress queue mapping (the subject of this patch), although there is a special case for AVB traffic which does allow for egress queue mapping.

The main issue is that inbound frames belonging to AVB TCs that do _not_ have a SRP-managed DA must be dropped. This permits those queues’ CBS bandwidth to be reserved for AVB streams.Marvell implements this with the STATIC_AVB_NRL entry state, combined with an ingress port flag that enables the packet filtering.

My patch mapped the Marvell model to the software bridge, i.e. new IFLA_BRPORT and MDB flags. However, Nikolay (correctly) points out that these are unidiomatic for Linux.

My understanding is that these should likely be managed with tc-flower. The SRP daemon would manage tc-flower entries along with the MDB when an AVB stream is admitted. Unfortunately, implemetning this in mv88e6xxx would be more complicated: it would either require intercepting the tc-flower requests and mapping them to native AVB admission control (which may be fragile), or adding PCP/DA matching to the TCAM implementation (which may not be sufficiently performant, more research is needed).

Luke

[1] https://tsn.readthedocs.io/avb.html