kernel: backport dsa b53 patches
These patches have been merged upstream, so let's move them to backport. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
This commit is contained in:
		| @@ -0,0 +1,30 @@ | |||||||
|  | From 30796d0dcb6e41c6558a07950f2ce60c209da867 Mon Sep 17 00:00:00 2001 | ||||||
|  | From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com> | ||||||
|  | Date: Thu, 16 Mar 2023 18:28:07 +0100 | ||||||
|  | Subject: [PATCH] net: dsa: b53: mmap: fix device tree support | ||||||
|  | MIME-Version: 1.0 | ||||||
|  | Content-Type: text/plain; charset=UTF-8 | ||||||
|  | Content-Transfer-Encoding: 8bit | ||||||
|  |  | ||||||
|  | CPU port should also be enabled in order to get a working switch. | ||||||
|  |  | ||||||
|  | Fixes: a5538a777b73 ("net: dsa: b53: mmap: Add device tree support") | ||||||
|  | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> | ||||||
|  | Acked-by: Florian Fainelli <f.fainelli@gmail.com> | ||||||
|  | Link: https://lore.kernel.org/r/20230316172807.460146-1-noltari@gmail.com | ||||||
|  | Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||||
|  | --- | ||||||
|  |  drivers/net/dsa/b53/b53_mmap.c | 2 +- | ||||||
|  |  1 file changed, 1 insertion(+), 1 deletion(-) | ||||||
|  |  | ||||||
|  | --- a/drivers/net/dsa/b53/b53_mmap.c | ||||||
|  | +++ b/drivers/net/dsa/b53/b53_mmap.c | ||||||
|  | @@ -263,7 +263,7 @@ static int b53_mmap_probe_of(struct plat | ||||||
|  |  		if (of_property_read_u32(of_port, "reg", ®)) | ||||||
|  |  			continue; | ||||||
|  |   | ||||||
|  | -		if (reg < B53_CPU_PORT) | ||||||
|  | +		if (reg < B53_N_PORTS) | ||||||
|  |  			pdata->enabled_ports |= BIT(reg); | ||||||
|  |  	} | ||||||
|  |   | ||||||
| @@ -0,0 +1,65 @@ | |||||||
|  | From 032a954061afd4b7426c3eb6bfd2952ef1e9a384 Mon Sep 17 00:00:00 2001 | ||||||
|  | From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com> | ||||||
|  | Date: Sun, 19 Mar 2023 10:55:40 +0100 | ||||||
|  | Subject: [PATCH] net: dsa: tag_brcm: legacy: fix daisy-chained switches | ||||||
|  | MIME-Version: 1.0 | ||||||
|  | Content-Type: text/plain; charset=UTF-8 | ||||||
|  | Content-Transfer-Encoding: 8bit | ||||||
|  |  | ||||||
|  | When BCM63xx internal switches are connected to switches with a 4-byte | ||||||
|  | Broadcom tag, it does not identify the packet as VLAN tagged, so it adds one | ||||||
|  | based on its PVID (which is likely 0). | ||||||
|  | Right now, the packet is received by the BCM63xx internal switch and the 6-byte | ||||||
|  | tag is properly processed. The next step would to decode the corresponding | ||||||
|  | 4-byte tag. However, the internal switch adds an invalid VLAN tag after the | ||||||
|  | 6-byte tag and the 4-byte tag handling fails. | ||||||
|  | In order to fix this we need to remove the invalid VLAN tag after the 6-byte | ||||||
|  | tag before passing it to the 4-byte tag decoding. | ||||||
|  |  | ||||||
|  | Fixes: 964dbf186eaa ("net: dsa: tag_brcm: add support for legacy tags") | ||||||
|  | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> | ||||||
|  | Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com> | ||||||
|  | Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> | ||||||
|  | Link: https://lore.kernel.org/r/20230319095540.239064-1-noltari@gmail.com | ||||||
|  | Signed-off-by: Jakub Kicinski <kuba@kernel.org> | ||||||
|  | --- | ||||||
|  |  net/dsa/tag_brcm.c | 10 ++++++++-- | ||||||
|  |  1 file changed, 8 insertions(+), 2 deletions(-) | ||||||
|  |  | ||||||
|  | --- a/net/dsa/tag_brcm.c | ||||||
|  | +++ b/net/dsa/tag_brcm.c | ||||||
|  | @@ -7,6 +7,7 @@ | ||||||
|  |   | ||||||
|  |  #include <linux/dsa/brcm.h> | ||||||
|  |  #include <linux/etherdevice.h> | ||||||
|  | +#include <linux/if_vlan.h> | ||||||
|  |  #include <linux/list.h> | ||||||
|  |  #include <linux/slab.h> | ||||||
|  |   | ||||||
|  | @@ -248,6 +249,7 @@ static struct sk_buff *brcm_leg_tag_xmit | ||||||
|  |  static struct sk_buff *brcm_leg_tag_rcv(struct sk_buff *skb, | ||||||
|  |  					struct net_device *dev) | ||||||
|  |  { | ||||||
|  | +	int len = BRCM_LEG_TAG_LEN; | ||||||
|  |  	int source_port; | ||||||
|  |  	u8 *brcm_tag; | ||||||
|  |   | ||||||
|  | @@ -262,12 +264,16 @@ static struct sk_buff *brcm_leg_tag_rcv( | ||||||
|  |  	if (!skb->dev) | ||||||
|  |  		return NULL; | ||||||
|  |   | ||||||
|  | +	/* VLAN tag is added by BCM63xx internal switch */ | ||||||
|  | +	if (netdev_uses_dsa(skb->dev)) | ||||||
|  | +		len += VLAN_HLEN; | ||||||
|  | + | ||||||
|  |  	/* Remove Broadcom tag and update checksum */ | ||||||
|  | -	skb_pull_rcsum(skb, BRCM_LEG_TAG_LEN); | ||||||
|  | +	skb_pull_rcsum(skb, len); | ||||||
|  |   | ||||||
|  |  	dsa_default_offload_fwd_mark(skb); | ||||||
|  |   | ||||||
|  | -	dsa_strip_etype_header(skb, BRCM_LEG_TAG_LEN); | ||||||
|  | +	dsa_strip_etype_header(skb, len); | ||||||
|  |   | ||||||
|  |  	return skb; | ||||||
|  |  } | ||||||
| @@ -1,104 +0,0 @@ | |||||||
| From patchwork Thu Mar 16 17:28:07 2023 |  | ||||||
| Content-Type: text/plain; charset="utf-8" |  | ||||||
| MIME-Version: 1.0 |  | ||||||
| Content-Transfer-Encoding: 8bit |  | ||||||
| X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= |  | ||||||
|  <noltari@gmail.com> |  | ||||||
| X-Patchwork-Id: 13178135 |  | ||||||
| X-Patchwork-Delegate: kuba@kernel.org |  | ||||||
| Return-Path: <netdev-owner@vger.kernel.org> |  | ||||||
| X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on |  | ||||||
| 	aws-us-west-2-korg-lkml-1.web.codeaurora.org |  | ||||||
| Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) |  | ||||||
| 	by smtp.lore.kernel.org (Postfix) with ESMTP id 9F385C6FD19 |  | ||||||
| 	for <netdev@archiver.kernel.org>; Thu, 16 Mar 2023 17:29:18 +0000 (UTC) |  | ||||||
| Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand |  | ||||||
|         id S229918AbjCPR3Q (ORCPT <rfc822;netdev@archiver.kernel.org>); |  | ||||||
|         Thu, 16 Mar 2023 13:29:16 -0400 |  | ||||||
| Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44474 "EHLO |  | ||||||
|         lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org |  | ||||||
|         with ESMTP id S229902AbjCPR3G (ORCPT |  | ||||||
|         <rfc822;netdev@vger.kernel.org>); Thu, 16 Mar 2023 13:29:06 -0400 |  | ||||||
| Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com |  | ||||||
|  [IPv6:2a00:1450:4864:20::433]) |  | ||||||
|         by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DB3CC1D929; |  | ||||||
|         Thu, 16 Mar 2023 10:29:03 -0700 (PDT) |  | ||||||
| Received: by mail-wr1-x433.google.com with SMTP id y14so2246984wrq.4; |  | ||||||
|         Thu, 16 Mar 2023 10:29:03 -0700 (PDT) |  | ||||||
| DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; |  | ||||||
|         d=gmail.com; s=20210112; t=1678987742; |  | ||||||
|         h=content-transfer-encoding:mime-version:references:in-reply-to |  | ||||||
|          :message-id:date:subject:cc:to:from:from:to:cc:subject:date |  | ||||||
|          :message-id:reply-to; |  | ||||||
|         bh=n/Cr1XNCJNfBa+dPDtalOZXIIV6S3ucGcQ6qFqXXuSc=; |  | ||||||
|         b=Ka0GgVg9azCPEBkuB0FcSt9tMYqZVblZJl1uT4KWVRAEgVcgqi44vSYpvlzc3TfFMI |  | ||||||
|          Ulqrk15TYN022WhQxI63v/NQum/s+yKg2G7wZYj2wHxsGAaoaLtFw8lsjoqTx8NZjsXO |  | ||||||
|          OIlTQqkyvDBE4t4FkO9w47A9Q2ruNzohH7Mng3Kraup/9Wyb3PGdybj/sC9/Pvnw6aPz |  | ||||||
|          4Ep0ufMhgNjCk8X2buy346Tcow1zyQVQeGAZrxQzPbWcwa5rFbWGv6iD4wYbHKYm/DZV |  | ||||||
|          ah4lc+p0anRvAsNDlqj9fa+VY96nD4X/R7q5M3u7jTEL5YPvrOH5a8y5P5c92mWXiI7i |  | ||||||
|          RABA== |  | ||||||
| X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; |  | ||||||
|         d=1e100.net; s=20210112; t=1678987742; |  | ||||||
|         h=content-transfer-encoding:mime-version:references:in-reply-to |  | ||||||
|          :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc |  | ||||||
|          :subject:date:message-id:reply-to; |  | ||||||
|         bh=n/Cr1XNCJNfBa+dPDtalOZXIIV6S3ucGcQ6qFqXXuSc=; |  | ||||||
|         b=RnTP/w7AloNUBWmU5C26i+lQQMLIbND8o8gY/M87Dw22DuDdCIQQxRQypN9pzW4fmS |  | ||||||
|          VfNg/kh5Hydzm2bSw7AXMtT0hrbTfBZr2sB6BEKlojw3txmRVCoDGvlZLhTCRtPYGECX |  | ||||||
|          WqK1d37sgZ+bBEtjsPfCoVxdLpMCAjxlzLTCnwIclXsHLJg6Tsup33wu6kCFaQz1GYi1 |  | ||||||
|          hDlc0KC9TZBXr0+3kzzXVyp0X3P30TlAamlojgoi44oa8246DcMBMtsbhiRPLUsdcIfs |  | ||||||
|          k+UDK2IemrCvgh5hfN3tX/DtwzoOxPjmB2FZjdxi7+6+c/abS5IYjQ8I1b30JOzDZeMs |  | ||||||
|          E6nA== |  | ||||||
| X-Gm-Message-State: AO0yUKXFx+XUMUlLCdoCi82z77K5Ax1VNa78esJmOz5Jv6sQIYmKTgvD |  | ||||||
|         VrU+Kl3YdJgxxLbxpm1e8RI= |  | ||||||
| X-Google-Smtp-Source:  |  | ||||||
|  AK7set8fFjLrpZ1Ll4TW9iTex7qD+OJccAtDrfibvtBWYkVr0jRxWbwBsrVExeDl051bEIdDmJrszQ== |  | ||||||
| X-Received: by 2002:a5d:61c7:0:b0:2ce:a697:75c7 with SMTP id |  | ||||||
|  q7-20020a5d61c7000000b002cea69775c7mr4660631wrv.33.1678987742168; |  | ||||||
|         Thu, 16 Mar 2023 10:29:02 -0700 (PDT) |  | ||||||
| Received: from atlantis.lan (255.red-79-146-124.dynamicip.rima-tde.net. |  | ||||||
|  [79.146.124.255]) |  | ||||||
|         by smtp.gmail.com with ESMTPSA id |  | ||||||
|  n7-20020a5d4847000000b002c5d3f0f737sm7719124wrs.30.2023.03.16.10.29.01 |  | ||||||
|         (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); |  | ||||||
|         Thu, 16 Mar 2023 10:29:01 -0700 (PDT) |  | ||||||
| From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?=  <noltari@gmail.com> |  | ||||||
| To: f.fainelli@gmail.com, jonas.gorski@gmail.com, andrew@lunn.ch, |  | ||||||
|         olteanv@gmail.com, davem@davemloft.net, edumazet@google.com, |  | ||||||
|         kuba@kernel.org, pabeni@redhat.com, netdev@vger.kernel.org, |  | ||||||
|         linux-kernel@vger.kernel.org |  | ||||||
| Cc: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?=  <noltari@gmail.com> |  | ||||||
| Subject: [PATCH v2] net: dsa: b53: mmap: fix device tree support |  | ||||||
| Date: Thu, 16 Mar 2023 18:28:07 +0100 |  | ||||||
| Message-Id: <20230316172807.460146-1-noltari@gmail.com> |  | ||||||
| X-Mailer: git-send-email 2.30.2 |  | ||||||
| In-Reply-To: <20230310121059.4498-1-noltari@gmail.com> |  | ||||||
| References: <20230310121059.4498-1-noltari@gmail.com> |  | ||||||
| MIME-Version: 1.0 |  | ||||||
| Precedence: bulk |  | ||||||
| List-ID: <netdev.vger.kernel.org> |  | ||||||
| X-Mailing-List: netdev@vger.kernel.org |  | ||||||
| X-Patchwork-Delegate: kuba@kernel.org |  | ||||||
|  |  | ||||||
| CPU port should also be enabled in order to get a working switch. |  | ||||||
|  |  | ||||||
| Fixes: a5538a777b73 ("net: dsa: b53: mmap: Add device tree support") |  | ||||||
| Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> |  | ||||||
| Acked-by: Florian Fainelli <f.fainelli@gmail.com> |  | ||||||
| --- |  | ||||||
|  v2: switch to B53_N_PORTS |  | ||||||
|  |  | ||||||
|  drivers/net/dsa/b53/b53_mmap.c | 2 +- |  | ||||||
|  1 file changed, 1 insertion(+), 1 deletion(-) |  | ||||||
|  |  | ||||||
| --- a/drivers/net/dsa/b53/b53_mmap.c |  | ||||||
| +++ b/drivers/net/dsa/b53/b53_mmap.c |  | ||||||
| @@ -263,7 +263,7 @@ static int b53_mmap_probe_of(struct plat |  | ||||||
|  		if (of_property_read_u32(of_port, "reg", ®)) |  | ||||||
|  			continue; |  | ||||||
|   |  | ||||||
| -		if (reg < B53_CPU_PORT) |  | ||||||
| +		if (reg < B53_N_PORTS) |  | ||||||
|  			pdata->enabled_ports |= BIT(reg); |  | ||||||
|  	} |  | ||||||
|   |  | ||||||
| @@ -1,140 +0,0 @@ | |||||||
| From patchwork Sun Mar 19 09:55:40 2023 |  | ||||||
| Content-Type: text/plain; charset="utf-8" |  | ||||||
| MIME-Version: 1.0 |  | ||||||
| Content-Transfer-Encoding: 8bit |  | ||||||
| X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= |  | ||||||
|  <noltari@gmail.com> |  | ||||||
| X-Patchwork-Id: 13180301 |  | ||||||
| X-Patchwork-Delegate: kuba@kernel.org |  | ||||||
| Return-Path: <netdev-owner@vger.kernel.org> |  | ||||||
| X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on |  | ||||||
| 	aws-us-west-2-korg-lkml-1.web.codeaurora.org |  | ||||||
| Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) |  | ||||||
| 	by smtp.lore.kernel.org (Postfix) with ESMTP id 59CF8C7618A |  | ||||||
| 	for <netdev@archiver.kernel.org>; Sun, 19 Mar 2023 09:55:59 +0000 (UTC) |  | ||||||
| Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand |  | ||||||
|         id S229723AbjCSJzz (ORCPT <rfc822;netdev@archiver.kernel.org>); |  | ||||||
|         Sun, 19 Mar 2023 05:55:55 -0400 |  | ||||||
| Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33746 "EHLO |  | ||||||
|         lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org |  | ||||||
|         with ESMTP id S229468AbjCSJzv (ORCPT |  | ||||||
|         <rfc822;netdev@vger.kernel.org>); Sun, 19 Mar 2023 05:55:51 -0400 |  | ||||||
| Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com |  | ||||||
|  [IPv6:2a00:1450:4864:20::333]) |  | ||||||
|         by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 83BCD23A6E; |  | ||||||
|         Sun, 19 Mar 2023 02:55:49 -0700 (PDT) |  | ||||||
| Received: by mail-wm1-x333.google.com with SMTP id |  | ||||||
|  l15-20020a05600c4f0f00b003ed58a9a15eso5776403wmq.5; |  | ||||||
|         Sun, 19 Mar 2023 02:55:49 -0700 (PDT) |  | ||||||
| DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; |  | ||||||
|         d=gmail.com; s=20210112; t=1679219748; |  | ||||||
|         h=content-transfer-encoding:mime-version:references:in-reply-to |  | ||||||
|          :message-id:date:subject:cc:to:from:from:to:cc:subject:date |  | ||||||
|          :message-id:reply-to; |  | ||||||
|         bh=yaNuTTfeHI1WnGa3QC7carZ37ibM4EyUyUnDDBSr6nM=; |  | ||||||
|         b=bTf0pdvAUXMqrJw4A+PLFfwONMAaXL3S4GDMJH3tYgRz/0Vpy7FkmgpWveMhjrqiDM |  | ||||||
|          O6v17DizCYtzUrLXC9z9mMD3F8tl0SETaor8aE/MtvnxVq/Yq80WT5xnEh0iJBhWnRP1 |  | ||||||
|          0ZKyuoqWZQPnQ9vXbctEu3ZPxub9szdfmxWCtutESvAIvY7Y1qt4ZGg4ZDexov88P4lN |  | ||||||
|          pgP6KaBNSVKSsVlDL4ukHqWyrkzpPtcOmDrPC8/HUTsraFnQ4iOL8vVR2Q26qKf2JI6m |  | ||||||
|          yKwAd88ZKSnFRAyGdXAoXqiAKkcmDW5523samaxmBI23gxG5ryD3JnZBlo5r55gnPGo9 |  | ||||||
|          C0uQ== |  | ||||||
| X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; |  | ||||||
|         d=1e100.net; s=20210112; t=1679219748; |  | ||||||
|         h=content-transfer-encoding:mime-version:references:in-reply-to |  | ||||||
|          :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc |  | ||||||
|          :subject:date:message-id:reply-to; |  | ||||||
|         bh=yaNuTTfeHI1WnGa3QC7carZ37ibM4EyUyUnDDBSr6nM=; |  | ||||||
|         b=buUr8oNY3Rb4YRuvXOFLPRXT0v9e8f87X1i1bsLfYPL/CokAJIhwAaChGjvMN1l3zP |  | ||||||
|          YCfM9Xynl3tF3k4nrb1xKGmc7LuHONe8KjOgFgFuvtepBg7uvBdwi7A3UmbznhgUpzlo |  | ||||||
|          HE7X3S5dfDNX/LLwpOyWM34Hk+w6i6pXP2FD7CB/1TwvdZFjnPHbhDhQTnJQNFaFmXz2 |  | ||||||
|          d4WxBzxqU6k+4PC4AHRhGkn8QunICQ90MDk9NgNtuT5E1tTh5Bz4ykQ95sKKeTih3OBO |  | ||||||
|          sx0mBrCqsTwpteTweNvnMuoOxmyKbM8Ca8cwS1QpfIWI0ASy+j7j2SiTG7nrKl2hUJTW |  | ||||||
|          heAQ== |  | ||||||
| X-Gm-Message-State: AO0yUKWVY0SzDxRYNSJrKpnV6m176lCPK8B2N12aX56FfpuGNCuaPAmf |  | ||||||
|         wYaBrXYVORDSYFVtNsY7gc3xMZp1z+ba7A== |  | ||||||
| X-Google-Smtp-Source:  |  | ||||||
|  AK7set8q+UMyrNpNNfcRo8o3ynviTGRk1oKu2CmzwYJVZxCAYYvXmLtyXvhcnqpBROVi7Kj+1rKDuw== |  | ||||||
| X-Received: by 2002:a05:600c:4f50:b0:3ed:4b0f:5378 with SMTP id |  | ||||||
|  m16-20020a05600c4f5000b003ed4b0f5378mr11519857wmq.27.1679219747816; |  | ||||||
|         Sun, 19 Mar 2023 02:55:47 -0700 (PDT) |  | ||||||
| Received: from atlantis.lan (255.red-79-146-124.dynamicip.rima-tde.net. |  | ||||||
|  [79.146.124.255]) |  | ||||||
|         by smtp.gmail.com with ESMTPSA id |  | ||||||
|  i26-20020a1c541a000000b003ed246f76a2sm13390609wmb.1.2023.03.19.02.55.46 |  | ||||||
|         (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); |  | ||||||
|         Sun, 19 Mar 2023 02:55:47 -0700 (PDT) |  | ||||||
| From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?=  <noltari@gmail.com> |  | ||||||
| To: andrew@lunn.ch, f.fainelli@gmail.com, jonas.gorski@gmail.com, |  | ||||||
|         olteanv@gmail.com, davem@davemloft.net, edumazet@google.com, |  | ||||||
|         kuba@kernel.org, pabeni@redhat.com, netdev@vger.kernel.org, |  | ||||||
|         linux-kernel@vger.kernel.org |  | ||||||
| Cc: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?=  <noltari@gmail.com>, |  | ||||||
|  Michal Swiatkowski <michal.swiatkowski@linux.intel.com> |  | ||||||
| Subject: [PATCH v2] net: dsa: tag_brcm: legacy: fix daisy-chained switches |  | ||||||
| Date: Sun, 19 Mar 2023 10:55:40 +0100 |  | ||||||
| Message-Id: <20230319095540.239064-1-noltari@gmail.com> |  | ||||||
| X-Mailer: git-send-email 2.30.2 |  | ||||||
| In-Reply-To: <20230317120815.321871-1-noltari@gmail.com> |  | ||||||
| References: <20230317120815.321871-1-noltari@gmail.com> |  | ||||||
| MIME-Version: 1.0 |  | ||||||
| Precedence: bulk |  | ||||||
| List-ID: <netdev.vger.kernel.org> |  | ||||||
| X-Mailing-List: netdev@vger.kernel.org |  | ||||||
| X-Patchwork-Delegate: kuba@kernel.org |  | ||||||
|  |  | ||||||
| When BCM63xx internal switches are connected to switches with a 4-byte |  | ||||||
| Broadcom tag, it does not identify the packet as VLAN tagged, so it adds one |  | ||||||
| based on its PVID (which is likely 0). |  | ||||||
| Right now, the packet is received by the BCM63xx internal switch and the 6-byte |  | ||||||
| tag is properly processed. The next step would to decode the corresponding |  | ||||||
| 4-byte tag. However, the internal switch adds an invalid VLAN tag after the |  | ||||||
| 6-byte tag and the 4-byte tag handling fails. |  | ||||||
| In order to fix this we need to remove the invalid VLAN tag after the 6-byte |  | ||||||
| tag before passing it to the 4-byte tag decoding. |  | ||||||
|  |  | ||||||
| Fixes: 964dbf186eaa ("net: dsa: tag_brcm: add support for legacy tags") |  | ||||||
| Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> |  | ||||||
| Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com> |  | ||||||
| --- |  | ||||||
|  v2: add missing fixes tag. |  | ||||||
|  |  | ||||||
|  net/dsa/tag_brcm.c | 10 ++++++++-- |  | ||||||
|  1 file changed, 8 insertions(+), 2 deletions(-) |  | ||||||
|  |  | ||||||
| --- a/net/dsa/tag_brcm.c |  | ||||||
| +++ b/net/dsa/tag_brcm.c |  | ||||||
| @@ -7,6 +7,7 @@ |  | ||||||
|   |  | ||||||
|  #include <linux/dsa/brcm.h> |  | ||||||
|  #include <linux/etherdevice.h> |  | ||||||
| +#include <linux/if_vlan.h> |  | ||||||
|  #include <linux/list.h> |  | ||||||
|  #include <linux/slab.h> |  | ||||||
|   |  | ||||||
| @@ -248,6 +249,7 @@ static struct sk_buff *brcm_leg_tag_xmit |  | ||||||
|  static struct sk_buff *brcm_leg_tag_rcv(struct sk_buff *skb, |  | ||||||
|  					struct net_device *dev) |  | ||||||
|  { |  | ||||||
| +	int len = BRCM_LEG_TAG_LEN; |  | ||||||
|  	int source_port; |  | ||||||
|  	u8 *brcm_tag; |  | ||||||
|   |  | ||||||
| @@ -262,12 +264,16 @@ static struct sk_buff *brcm_leg_tag_rcv( |  | ||||||
|  	if (!skb->dev) |  | ||||||
|  		return NULL; |  | ||||||
|   |  | ||||||
| +	/* VLAN tag is added by BCM63xx internal switch */ |  | ||||||
| +	if (netdev_uses_dsa(skb->dev)) |  | ||||||
| +		len += VLAN_HLEN; |  | ||||||
| + |  | ||||||
|  	/* Remove Broadcom tag and update checksum */ |  | ||||||
| -	skb_pull_rcsum(skb, BRCM_LEG_TAG_LEN); |  | ||||||
| +	skb_pull_rcsum(skb, len); |  | ||||||
|   |  | ||||||
|  	dsa_default_offload_fwd_mark(skb); |  | ||||||
|   |  | ||||||
| -	dsa_strip_etype_header(skb, BRCM_LEG_TAG_LEN); |  | ||||||
| +	dsa_strip_etype_header(skb, len); |  | ||||||
|   |  | ||||||
|  	return skb; |  | ||||||
|  } |  | ||||||
		Reference in New Issue
	
	Block a user
	 Álvaro Fernández Rojas
					Álvaro Fernández Rojas