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:
parent
67c28dde09
commit
21b89b0647
4 changed files with 95 additions and 244 deletions
|
@ -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;
|
|
||||||
}
|
|
Loading…
Reference in a new issue