Netdev List
 help / color / mirror / Atom feed
From: Nikolay Aleksandrov <razor@blackwall.org>
To: Luke Howard <lukeh@padl.com>
Cc: Andrew Lunn <andrew@lunn.ch>,
	Cedric Jehasse <cedric.jehasse@gmail.com>,
	Jiri Pirko <jiri@resnulli.us>, Ivan Vecera <ivecera@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Simon Horman <horms@kernel.org>, Ido Schimmel <idosch@nvidia.com>,
	Andrew Lunn <andrew+netdev@lunn.ch>,
	David Ahern <dsahern@kernel.org>, Shuah Khan <shuah@kernel.org>,
	Vladimir Oltean <olteanv@gmail.com>,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	bridge@lists.linux.dev, linux-kselftest@vger.kernel.org,
	Max Hunter <max@huntershome.org>,
	Kieran Tyrrell <kieran@sienda.com>
Subject: Re: [PATCH net-next v2 3/6] net: bridge: add 802.1Qat stream reservation admission control
Date: Sun, 7 Jun 2026 01:14:06 +0300	[thread overview]
Message-ID: <aiSbrmlOunfxwvGu@penguin> (raw)
In-Reply-To: <77CCA8EB-145D-4B76-B6F4-9B775C361995@padl.com>

On Sun, Jun 07, 2026 at 07:49:26AM +1000, Luke Howard wrote:
> 
> 
> > On 6 Jun 2026, at 6:21 pm, Nikolay Aleksandrov <razor@blackwall.org> wrote:
> > 
> > On 06/06/2026 11:02, Luke Howard wrote:
> >> 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.
> 
> s/classify/mark, i.e. marking a forwarding bit for tc to match, a la l2_miss.
> 
> tc can’t see into the MDB to tell if a DA has a dynamic reservation entry so, without an explicit DRE bit, the SRP daemon would need to maintain a flower permit filter per DRE. Not needing this allows the user to set a single policy filter prior to starting SRP, e.g.:
> 
> tc filter add dev lan0 egress protocol 802.1Q pref 1 handle 1 flower vlan_prio 3 dynamic_reservation_hit 0 action drop
> 
> It also maps cleanly to chips that support 802.1Qav with priority regeneration or filtering, but which can’t support tc-flower.

Yeah, that was an expected answer and I've seen such claims multiple times.
Just because it is convenient to add it in the bridge, does not make it the
right software model. There are layers that do filtering, marking and manipulation
this must be done at such layer. If you have to create a new table with the entries
filled there then that is what your user-space software must do, or come up with a
better alternative. There're also bridge netfilter chains that can do packet
filtering and manipulation, that might be an option.

For the MDB to have a dynamic reservation entry means someone must've added it,
these are not dynamically learned, so you can just as well build the table
in a more appropriate place which can tag or filter the packet.

  reply	other threads:[~2026-06-06 22:14 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-02  0:43 [PATCH net-next v2 0/6] net: dsa: mv8ee6xxx: MQPRIO and 802.1Qat support Luke Howard
2026-06-02  0:43 ` [PATCH net-next v2 1/6] net: bridge: mdb: add MDB_FLAGS_STREAM_RESERVED flag Luke Howard
2026-06-02  0:43 ` [PATCH net-next v2 2/6] net: bridge: convert mdb_entry host_joined to a flags field Luke Howard
2026-06-03  7:38   ` Nikolay Aleksandrov
2026-06-02  0:43 ` [PATCH net-next v2 3/6] net: bridge: add 802.1Qat stream reservation admission control Luke Howard
2026-06-02  1:28   ` Luke Howard
2026-06-03  7:35   ` Nikolay Aleksandrov
2026-06-04  5:39     ` Luke Howard
2026-06-05 12:53       ` Cedric Jehasse
2026-06-05 14:44         ` Andrew Lunn
2026-06-06  8:02           ` Luke Howard
2026-06-06  8:21             ` Nikolay Aleksandrov
2026-06-06 21:49               ` Luke Howard
2026-06-06 22:14                 ` Nikolay Aleksandrov [this message]
2026-06-07  0:02                   ` Luke Howard
2026-06-05 22:36         ` Luke Howard
2026-06-02  0:43 ` [PATCH net-next v2 4/6] net: bridge: allow MDB_FLAGS_STREAM_RESERVED on host groups Luke Howard
2026-06-02  0:43 ` [PATCH net-next v2 5/6] net: dsa: mv88e6xxx: MQPRIO support Luke Howard
2026-06-02 12:00   ` Cedric Jehasse
2026-06-02 21:12     ` Luke Howard
2026-06-02 23:48       ` Luke Howard
2026-06-02 23:55         ` Andrew Lunn
2026-06-03  0:15           ` Luke Howard
2026-06-03  1:40             ` Luke Howard
2026-06-03  2:41               ` Andrew Lunn
2026-06-03  3:29                 ` Luke Howard
2026-06-04  6:26                   ` Luke Howard
2026-06-03  2:09       ` Luke Howard
2026-06-03  3:30         ` Luke Howard
     [not found]     ` <808529B1-E40A-4E54-A654-86F1B6D1FA66@padl.com>
2026-06-04  8:36       ` Cedric Jehasse
2026-06-02  0:43 ` [PATCH net-next v2 6/6] net: dsa: mv88e6xxx: honour MDB_FLAGS_STREAM_RESERVED for AVB streams Luke Howard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aiSbrmlOunfxwvGu@penguin \
    --to=razor@blackwall.org \
    --cc=andrew+netdev@lunn.ch \
    --cc=andrew@lunn.ch \
    --cc=bridge@lists.linux.dev \
    --cc=cedric.jehasse@gmail.com \
    --cc=davem@davemloft.net \
    --cc=dsahern@kernel.org \
    --cc=edumazet@google.com \
    --cc=horms@kernel.org \
    --cc=idosch@nvidia.com \
    --cc=ivecera@redhat.com \
    --cc=jiri@resnulli.us \
    --cc=kieran@sienda.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=lukeh@padl.com \
    --cc=max@huntershome.org \
    --cc=netdev@vger.kernel.org \
    --cc=olteanv@gmail.com \
    --cc=pabeni@redhat.com \
    --cc=shuah@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox