From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EDC6D30C152 for ; Sat, 6 Jun 2026 22:14:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.53 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780784051; cv=none; b=qBBNMV5Mt0QopTybWmq8nK/rvR1Rd4iVM6T7WGc3osWWdFbCcWa/9KLKLdYnMXogIQiqMaBidfBXZJ2q//onSS042nKsoZKxc2mQIkpl/KqPC5zxOX0zv8+Jv65GmerpCFzQq1zTGmr9rW6uHIHjS9eVyBkLcZOXoqxs4t/jGqs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780784051; c=relaxed/simple; bh=s5c6ul3C63xfvEM9cD74J3TRSk+sjNTozC8i6Xue4A4=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=ImTkLlBQsF1E6o7clzscdK6YRGo9dN5et7q34iatUrTXgpVVM2o0Glv37i9g0yLGsPDZcMM7eQtY3RY3iy3vucHlEXTUwqSfH2kc5LLZvL/YuHqCsFIYEsD5kO0vRzs7VL28V97BTrOFSENaLaL9tcRMcE4e+7Hn6MQqzBgXkDY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=blackwall.org; spf=none smtp.mailfrom=blackwall.org; dkim=pass (2048-bit key) header.d=blackwall.org header.i=@blackwall.org header.b=YRv9gY3I; arc=none smtp.client-ip=209.85.128.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=blackwall.org Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=blackwall.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=blackwall.org header.i=@blackwall.org header.b="YRv9gY3I" Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-490ace40f4bso35694435e9.3 for ; Sat, 06 Jun 2026 15:14:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=blackwall.org; s=google; t=1780784048; x=1781388848; darn=vger.kernel.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=9c+Hlm2LHsdp+Cs0S88z9ZuS/e5nxWWRGBAgwrHV+84=; b=YRv9gY3IAArwcZYyYbAHkBgGLpc49JS96vN2NQez0SLcwwM2SV81G7+skkOXFg/UZB 3agt32ili4/3p+nc5srNKxGDnGrOiivOUupgB0+Hfde0xDR0VHDLY4vwCzrP+F/N5t5W ycqFGMUaEcAj/jIlx7DQGWEmwyu1id5AY5YGDCnmIfTZFUJkZA7WRrltOThcSk4wwadM 7e4TNOdcJkiPM9e+N4grjJLeBOnO2khZPHmuwjjKkEVewUsqdeWLifR+r7fa+lkQqa1H tnCWZGqU3aI8nUwOfKdojOxGKuk/MieXkGFMseRi4hlR4OZYqSWSK++KzF0tbWY7TRwh XtHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780784048; x=1781388848; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=9c+Hlm2LHsdp+Cs0S88z9ZuS/e5nxWWRGBAgwrHV+84=; b=IUIAadtZijoImM0KlDrituDkO0dKada0Xl5tDqZReHi59uVSxpQa+TTm+j6W0RmeG9 uX+u6ClLWzk6pXCXyJVWs0oLpVnM8i21cuGK2xlkpRwr3Tma4tnsf2TRDffSRWlWbq11 YY+ho5HjpSlmFHOCrQ8Peh8+r/fYGhwASiQhumB7GkyPWT3vo1JozeS58wacFPf5oNU4 pXtBRRPThBBY8C5hpdwaMoFA6uBuHF8Lj+9gVeEc+3dj+SR8m3FqvX9Fg9jR7I73GSvy 6GQlusEsDaCUElsRmwJ8+mod0dPTSfUOHkVLnlaf7UWRxSQyBeQmrNbCKInmNanFrGO4 xFSg== X-Forwarded-Encrypted: i=1; AFNElJ+y97MB2dH1bVT6sUHKYM/fa829psXpDMXj8K4KmCBD6GsIJwAS4GiyE8dlRrFcKN9aMAy5rdFIGIJiHxY=@vger.kernel.org X-Gm-Message-State: AOJu0YxYcAIxgp7ly3X6tBlrLn4KxkAJse7+B9s+nSSdES2eDmIGzKk+ bqNxiz6VB++RmzeR+Hp6gCtljdiZkwtB0jHC0A9IVZK1pGG8oAiREchlRlbV4C4FnyQ= X-Gm-Gg: Acq92OEio+5mZv1PBJLBUDFEEaBi8zwic+cTWqjE/yiAZI4RJ+KhU6INSoSH4NXRocW w5rvePKJpp0gZ7Kr/RAyH4Nz1swzJ3V+Pxit/Tvgd5nwvmw/GD0A1m1GWFVKpHJUCIQ7ECUsTul 6qmMOf4v9W4Fry78LkFHSq1pzD+kemnSkkAyVq7p0Seynjq+n+cBSW4+Ielo18uRNLXSCksKobz GZc2xShPj9vJs9DJajWIJx2ICWOAY36WbVqRs45Ii+NDbEm7APf5CGBE4Zed00Cd0c770iint6N JnM/IaQh+pfq5QLFnqT/pg0r7yF8NXWBwwmS266GYYNwX2W6dWirMsgxAT+chrUaO3lYyzFyhsl WiavpY5MWzFzmRFiJGLRjiWBv7Ml1XyFYZV8mUIxBtwcKvQim/9avs29hSE5Brr3bOOMeNXsA+V Han2yQcyzLNoheRV2sd1EgPoGVeXxtpz8SkuPBbjRy3qQQ5N7al53YYSFZ X-Received: by 2002:a05:600c:6995:b0:490:b473:8f78 with SMTP id 5b1f17b1804b1-490c25dd66emr159444885e9.17.1780784048113; Sat, 06 Jun 2026 15:14:08 -0700 (PDT) Received: from localhost (78-154-15-182.ip.btc-net.bg. [78.154.15.182]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-490bc3c183asm269237185e9.6.2026.06.06.15.14.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 06 Jun 2026 15:14:07 -0700 (PDT) Date: Sun, 7 Jun 2026 01:14:06 +0300 From: Nikolay Aleksandrov To: Luke Howard Cc: Andrew Lunn , Cedric Jehasse , Jiri Pirko , Ivan Vecera , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Ido Schimmel , Andrew Lunn , David Ahern , Shuah Khan , Vladimir Oltean , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, bridge@lists.linux.dev, linux-kselftest@vger.kernel.org, Max Hunter , Kieran Tyrrell Subject: Re: [PATCH net-next v2 3/6] net: bridge: add 802.1Qat stream reservation admission control Message-ID: References: <20260602-mv88e6xxx-8021qat-mqprio-v2-0-72be14522e7c@padl.com> <20260602-mv88e6xxx-8021qat-mqprio-v2-3-72be14522e7c@padl.com> <537410c3-ff4e-43fd-834e-775cd1bbe89e@blackwall.org> <77CCA8EB-145D-4B76-B6F4-9B775C361995@padl.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit 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 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.