Received: by 2002:ab2:1149:0:b0:1f3:1f8c:d0c6 with SMTP id z9csp2599160lqz; Wed, 3 Apr 2024 03:03:21 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVoukkLkrO+yerNtjGiFRnJnfHfJa2OMgh8sFcaKJiNqSihKSsj9lafamsVo3C9mZKhjxhgkM5rtNh0FkmKx72qUh423M8pyuwBQZkBDw== X-Google-Smtp-Source: AGHT+IH1BySwuxYTofifikEOSMAgwG8qVG/p1priVlafm9gF4nYunnvVXgbjc83foSV1QCWWVDW1 X-Received: by 2002:a17:90a:740c:b0:2a2:14f1:cc with SMTP id a12-20020a17090a740c00b002a214f100ccmr1842582pjg.27.1712138601518; Wed, 03 Apr 2024 03:03:21 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1712138601; cv=pass; d=google.com; s=arc-20160816; b=tjSs8G/QGK2qYKrdkzgah4PHpOtuB7DLagJqhcG0BvDtuoqZuq2hafI6iVpVlD8xfx Suidh0mHPkQ3QT5PzYOA/3FNl17Rd+MZcBJ30Yw34J7dw1wdU0M20W9vPumZFgAbF4Je t8KY28hJf2qmmWYWXlvmVBQ9AC/M5Ub5pYM5gTMyAQis7y1JNTFhGybqhubRYBGB68P3 JkWpp4RCHFXhpu8jM/PE3VMb8gtagAOkLtlZ2Qcivwjc56aCO4BTbCZ1Ye3C8vahBP4S cXl7DQsc3zT/fp9MXsDoNSu9L6/E2beoTR85lsRYJtN3YO6f5VxNcNC+Bc88NWU/1pUe aOLQ== 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=1XeH6uXmPk17DrtShNbyLZRy6lHOIlUt71uM4kZX7p0=; fh=tqC39tIlS6D/RAQt4n0YdpNSF39XxlRBPCEXedsdbGs=; b=aeXNw5ar6e21dA3PokZqaEdVE9M7lzKGhkgPPMP72tRFj21epJZaK7xHRtVZcmYdhk iBoOvWdmqSAKF1MNPQVGRWsdfXgeyqhq7qMU+QrYrsI+47fmt37liW+mYo6CdSgHrmOe 6cnPCcQxxsOUnsSUZLu28UH53IlAyUw03N43HuD3b7dH9onzvdeRA+kTGJOJ1PpYl0/5 ialFbivqDvLw4JySkq9yqsiavdpp8uhRCgTNm4TZflTDAHDkPkvjLfCZercqGEQZ6e7y aJ8aSpsCW4oojttBQ3EpiqxT7Ty6V89O0uvo354tOHKLXHjAEtMQBtL9mTa4gV4Ovh67 9+2A==; 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-129423-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-129423-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 mu14-20020a17090b388e00b002a24720a606si4516433pjb.110.2024.04.03.03.03.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Apr 2024 03:03:21 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-129423-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-129423-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-129423-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 DED50B229CB for ; Wed, 3 Apr 2024 09:29:55 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id F27E6135A57; Wed, 3 Apr 2024 09:29:18 +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 E46A7131E21 for ; Wed, 3 Apr 2024 09:29:14 +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=1712136558; cv=none; b=dFehAEKyT20I0ZVKxlmx9IwW+PBfO79RaJH18l9tgq/2JU/djMdeAqIbghRqQr35EMZWx7T04MaDoZC9EtVZA2DJwnIDrFjg74tR/W46xvaXeYGIJ5UOyDqOGIwNWFGKm5BL5fKzGE0Mdf7PJHdznBeGl5505Y6AOISWPgo24lg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712136558; c=relaxed/simple; bh=5dxcCc86+SrpxEM8DzCZ3xB36nURKqO1p/wf4H48/JQ=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=NrwsgcM32BL9MHVrxw3uAwDbsbOinDbnJ03FO9TfbcnDgX1fcPI3hqv/dml5hb/py70kjU9bjwtnIXemvM0dneUEJ1Xuz/NUpQYxARR4WTWZo4SpMtGRnKvCeItN3Xr3KmFeFQCxP6uMH9M6Lfr325CmJctULX6iEFxZL9zC3jA= 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 1rrwvc-0005BE-Nl; Wed, 03 Apr 2024 11:29:08 +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 1rrwva-00A9Hj-6X; Wed, 03 Apr 2024 11:29:06 +0200 Received: from ore by dude04.red.stw.pengutronix.de with local (Exim 4.96) (envelope-from ) id 1rrwva-008qGt-0P; Wed, 03 Apr 2024 11:29:06 +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 v2 0/9] Enhanced DCB and DSCP Support for KSZ Switches Date: Wed, 3 Apr 2024 11:28:56 +0200 Message-Id: <20240403092905.2107522-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. 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 | 98 +++- drivers/net/dsa/microchip/ksz_common.h | 7 +- drivers/net/dsa/microchip/ksz_dcb.c | 727 ++++++++++++++++++++++++ drivers/net/dsa/microchip/ksz_dcb.h | 21 + include/net/dsa.h | 4 + include/net/dscp.h | 76 +++ include/net/ieee8021q.h | 49 ++ net/Kconfig | 4 + net/core/Makefile | 1 + net/core/ieee8021q_helpers.c | 167 ++++++ net/dsa/user.c | 28 + 17 files changed, 1234 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