Received: by 2002:ab2:60d1:0:b0:1f7:5705:b850 with SMTP id i17csp1769384lqm; Fri, 3 May 2024 06:15:04 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVHnFFBfhpLHeKsIQ5BuU0qf54V9/CIFTKUp+pl+c/G8MLGHYmRVXT3nCcDZhH3eel3Fq3FTD7YNLSE2v7+NNYBY2juO5l4yQx6AryyOA== X-Google-Smtp-Source: AGHT+IE2d7qShIHKAfw/8QtHjSmN5a37geHOaiq2xDVfGnuNbQiwEfg2XRRolmlwEaAQj6ezELiY X-Received: by 2002:a17:902:ce8b:b0:1e4:362b:17d5 with SMTP id f11-20020a170902ce8b00b001e4362b17d5mr3480327plg.4.1714742104357; Fri, 03 May 2024 06:15:04 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1714742104; cv=pass; d=google.com; s=arc-20160816; b=za11NBkn6s/u8pTkPROWE7VtF0BdzawXBTpaUYk1fvc158wa65SkxcOZzI3KwTHCL6 WMpwRjsq6yE953yAhzyneOQisZlmlxRcmj4LtyWFYM5rrph7/ahN9vdI1PQFLnkpbbnV JS+yQsxtn+l6zinlnSA21GHa7NZztfYjqmiWiI5uQMLFatYOwoLAqouHWTh7hGWVdxsJ Qu4OGVVYguczv7icNQTg64i1QNtgt6yNTUKj+hYugItTTJd9sc5vNXVjaMyQ2QsUGKcr oV/FdKfUDlvcEC2cDV+pRTw+1iwEQjs0c9b49XYIPNzmL7xaG8sE00Wg4He2q417sc77 hs0g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from; bh=t5btvdDGYfHzatXxc3sNl+P+DIfIxvRhu2+v8XqFkTU=; fh=tqC39tIlS6D/RAQt4n0YdpNSF39XxlRBPCEXedsdbGs=; b=IjoItDMStwZ8npuCLVzxoOZIyFaOmHm0H0CkHSQsvvW3oe/+4krGXSUK0j5BiTvNJH YYXn6RiaONW0wfIpgvVmC+1+W2xNCeZU9yiWN04i+GHoc6TcCUL0hWxJ2YN6qRnUfDkr NpoRuLOAk87pr2lj9ErwYGLs31iIamRL1hyktPTzmLh3Bc7OwCnAfKntGvy1Im4+I7BN 26W0fEgY8pFOzFPC1QzSxHs/0kjRRdVQNtYl3w172BOjKy9pIeMuSr6DelkTffIQpNzR PYC1ysGajwV8SKLjb6owIPXUWVf6MlTiCa2ocNeE1ZQWdvhjUlKDyOns6JV7sZkE+fco iEYA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=pengutronix.de); spf=pass (google.com: domain of linux-kernel+bounces-167675-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-167675-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id d3-20020a170903230300b001e29ac24838si3040333plh.177.2024.05.03.06.15.03 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 May 2024 06:15:04 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-167675-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=pengutronix.de); spf=pass (google.com: domain of linux-kernel+bounces-167675-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-167675-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 41B63B213FE for ; Fri, 3 May 2024 13:14:56 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D5941154C08; Fri, 3 May 2024 13:14:13 +0000 (UTC) Received: from metis.whiteo.stw.pengutronix.de (metis.whiteo.stw.pengutronix.de [185.203.201.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A440B153596 for ; Fri, 3 May 2024 13:14:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.203.201.7 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714742051; cv=none; b=Lu6mrXDdl9d1Lg6Gqhh2r57pvya+FRy0UFBWMF5oJaqohiRkChi5xGBzbfnfnkU4AcamPGSQweW1eWV0XwFmPCmDMf3fFDEosVsDEbjDjx4aPL0qYWx92LfgZXwBINUJd3cor4TeMGnZu12IGb+0t9yVGGxcptzumlxLzWVclWI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714742051; c=relaxed/simple; bh=9bR9Vm6RUVcJpBA8j9isuCblWYh00RBSvynzMOoXVFk=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=gg+l0IZ6EiJGFvy0IADLtr0QxQub9raISFF5xNkHxzhi4GUrKfm8/43kBvWrggBiksVSrq4oXU2rygxxIYHFhchj7z+FlXmLKcUtULXr8A4zoc1CoTBANnIhymtMjrVyE9e3Tr//hwBVmzMooNOrEGzkmeUqnieFmkFP3p3x7XE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de; spf=pass smtp.mailfrom=pengutronix.de; arc=none smtp.client-ip=185.203.201.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=pengutronix.de Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1s2sjb-0006EE-6j; Fri, 03 May 2024 15:13:55 +0200 Received: from [2a0a:edc0:0:1101:1d::ac] (helo=dude04.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1s2sjZ-00FiK6-KW; Fri, 03 May 2024 15:13:53 +0200 Received: from ore by dude04.red.stw.pengutronix.de with local (Exim 4.96) (envelope-from ) id 1s2sjZ-008GGK-1m; Fri, 03 May 2024 15:13:53 +0200 From: Oleksij Rempel To: "David S. Miller" , Andrew Lunn , Eric Dumazet , Florian Fainelli , Jakub Kicinski , Paolo Abeni , Vladimir Oltean , Woojung Huh , Arun Ramadoss Cc: Oleksij Rempel , kernel@pengutronix.de, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, UNGLinuxDriver@microchip.com, David Ahern , Simon Horman , Willem de Bruijn , =?UTF-8?q?S=C3=B8ren=20Andersen?= Subject: [PATCH net-next v7 00/12] add DCB and DSCP support for KSZ switches Date: Fri, 3 May 2024 15:13:39 +0200 Message-Id: <20240503131351.1969097-1-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.39.2 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ore@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org This patch series is aimed at improving support for DCB (Data Center Bridging) and DSCP (Differentiated Services Code Point) on KSZ switches. The main goal is to introduce global DSCP and PCP (Priority Code Point) mapping support, addressing the limitation of KSZ switches not having per-port DSCP priority mapping. This involves extending the DSA framework with new callbacks for managing trust settings for global DSCP and PCP maps. Additionally, we introduce IEEE 802.1q helpers for default configurations, benefiting other drivers too. Change logs are in separate patches. Compared to v6 this series includes some new patches for DSCP global mapping support and QoS selftest script for KSZ9477 switches. Oleksij Rempel (12): net: dsa: add support for DCB get/set apptrust configuration net: dsa: microchip: add IPV information support net: add IEEE 802.1q specific helpers net: dsa: microchip: add multi queue support for KSZ88X3 variants net: dsa: microchip: add support for different DCB app configurations net: dsa: microchip: dcb: add special handling for KSZ88X3 family net: dsa: microchip: enable ETS support for KSZ989X variants net: dsa: microchip: init predictable IPV to queue mapping for all non KSZ8xxx variants net: dsa: microchip: let DCB code do PCP and DSCP policy configuration net: dsa: add support switches global DSCP priority mapping net: dsa: microchip: add support DSCP priority mapping selftests: microchip: add test for QoS support on KSZ9477 switch family drivers/net/dsa/microchip/Kconfig | 2 + drivers/net/dsa/microchip/Makefile | 2 +- drivers/net/dsa/microchip/ksz8.h | 1 + drivers/net/dsa/microchip/ksz8795.c | 106 ++- drivers/net/dsa/microchip/ksz8795_reg.h | 9 +- drivers/net/dsa/microchip/ksz9477.c | 6 - drivers/net/dsa/microchip/ksz_common.c | 103 ++- drivers/net/dsa/microchip/ksz_common.h | 11 +- drivers/net/dsa/microchip/ksz_dcb.c | 793 ++++++++++++++++++ drivers/net/dsa/microchip/ksz_dcb.h | 23 + include/net/dsa.h | 13 + include/net/dscp.h | 76 ++ include/net/ieee8021q.h | 57 ++ net/Kconfig | 3 + net/core/Makefile | 1 + net/core/ieee8021q_helpers.c | 242 ++++++ net/dsa/user.c | 103 +++ .../drivers/net/microchip/ksz9477_qos.sh | 668 +++++++++++++++ 18 files changed, 2133 insertions(+), 86 deletions(-) create mode 100644 drivers/net/dsa/microchip/ksz_dcb.c create mode 100644 drivers/net/dsa/microchip/ksz_dcb.h create mode 100644 include/net/dscp.h create mode 100644 include/net/ieee8021q.h create mode 100644 net/core/ieee8021q_helpers.c create mode 100755 tools/testing/selftests/drivers/net/microchip/ksz9477_qos.sh -- 2.39.2