Received: by 2002:ab2:b82:0:b0:1f3:401:3cfb with SMTP id 2csp548759lqh; Thu, 28 Mar 2024 09:11:15 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWHnqMbzx5+WA25yLxueX1sp6oUqZ/cYY7Jfa6IXEqDNrHyzqE9j8/ZM5USR1YNyRasdZQOygOQNsd8A7Ls6NRBNGk06gfPB6Wn1zfNOg== X-Google-Smtp-Source: AGHT+IHbCRDHWit7A8gdFYIjzPyy6FH4Mtkyxp3TkbgmorEzNMB2Jsbkuyn6hlqRlPalkwBdZnP5 X-Received: by 2002:a05:6a20:718a:b0:1a3:6f69:d9f3 with SMTP id s10-20020a056a20718a00b001a36f69d9f3mr3116825pzb.61.1711642275325; Thu, 28 Mar 2024 09:11:15 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1711642275; cv=pass; d=google.com; s=arc-20160816; b=OSeSV4mgDKaT7eFWJNNhflbHZXOjIC6qfEh3RU1yCLTiPqQKAyWEvhfYHJ7Hn/B0EV MIwp/Xz0oQD3mLguhCtnRrGc6EuL9GfJOjTFPDci9JSTyZhi3mxrqNXSVws/sU+aPU46 ZHA4spMR8KJcA3Lmk3x7sXQNyY6bBgpg2v5BrJJyIPmc3JRVm04tvnkIk6V5IoJnE4LT W+uYr0QufHCi9TAzFjlaHqupaLe0KtEie41jWxqOR3TgDRCzlWck7ZT/YFvU44mKw7Au R3Z1lKp//SGBtAmYNTZlVhodRwdJQB4jf2syaP1CW5O0jTSmS/7UU1AIWa8qR8tacP7G B66A== 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=Ii4f1PU3TW1AknI1CPHv3aaP/aNfCTL8IjiyV+V+EwU=; fh=tqC39tIlS6D/RAQt4n0YdpNSF39XxlRBPCEXedsdbGs=; b=zJO85zP51Aw7arZi7ZGC9rCZ94i4EZpneVDVHq8fd7eWEFvjOah093Rd8XlicXqHIz gtnO1Lnn58mlxC4Ivd2yJz4LnwPXg5e9tcX69hw8LwV5jvceP0k5vdW33MFEyUkzKI5r 9DH/oUViyJPoijtj1UyA3LDq1SbKDlQc1ZC9orWpXE+6uiL9VTPUf7yA67TjB6B0yKrw hCfb/zNt5UkfxgIoiCBtlD0GCFXNbXOi1+mY4WphppU77JM/Wt0huVaav7F707WMsLAD C7+t3lYV+UrDo83eF6ugwGQJHU++oqlBl4ZoPgRQkW/IN/Tj0ZdG8/LjSWczTcP/pmNb AMUQ==; 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-123211-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-123211-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id j18-20020a632312000000b005dc7fe155aesi1735637pgj.443.2024.03.28.09.11.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Mar 2024 09:11:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-123211-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=pengutronix.de); spf=pass (google.com: domain of linux-kernel+bounces-123211-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-123211-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 30F3EB2129A for ; Thu, 28 Mar 2024 16:06:17 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id A2B481327FE; Thu, 28 Mar 2024 16:05:40 +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 C05E2130AF9 for ; Thu, 28 Mar 2024 16:05:35 +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=1711641939; cv=none; b=r52vTsP94rofNL8Kjk/PU2/II2+RPP0QbMquEpdgsJ46MntVG68V8wWS0dbNEW+wO5FMWmPRIXQet1fYHjYm5A9kBW3VSTW4xNuitfQ2Q9ihjA3sJ/03rBCQ1JHLL+EQ5bTfBruK+/N3BHknIlnjguqazU9/I7EoiO+sV91X97Y= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711641939; c=relaxed/simple; bh=i166C4ugguMaBE/jhXf1xvZtL6qoC2/5pt0YAsHGzVw=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=msavBFd4aPMPCAuC31e/FmHYwM/blgok7ev0kBDA0EAu31bFgRv/jpzqZeLGub1VXSVHFFkQxFbiCQSzaHzxDa9oEO/wggMFfJp1RR/fnJdW2xjHnnHuhcqlz7pItYMA/9qQIYUEPsFCjwIjNbAwBeBbRqfEVbE7PBqp7Dum2hg= 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 1rpsFm-00058g-N5; Thu, 28 Mar 2024 17:05:22 +0100 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 1rpsFj-0092JG-CM; Thu, 28 Mar 2024 17:05:19 +0100 Received: from ore by dude04.red.stw.pengutronix.de with local (Exim 4.96) (envelope-from ) id 1rpsFj-00A3Nb-10; Thu, 28 Mar 2024 17:05:19 +0100 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 v1 0/9] Enhanced DCB and DSCP Support for KSZ Switches Date: Thu, 28 Mar 2024 17:05:09 +0100 Message-Id: <20240328160518.2396238-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. Oleksij Rempel (9): 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 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 | 94 +++- drivers/net/dsa/microchip/ksz_common.h | 7 +- drivers/net/dsa/microchip/ksz_dcb.c | 712 ++++++++++++++++++++++++ drivers/net/dsa/microchip/ksz_dcb.h | 21 + include/net/dsa.h | 4 + include/net/dscp.h | 76 +++ include/net/ieee8021q.h | 34 ++ net/Kconfig | 4 + net/core/Makefile | 1 + net/core/ieee8021q_helpers.c | 165 ++++++ net/dsa/user.c | 28 + 17 files changed, 1198 insertions(+), 74 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 -- 2.39.2