From nobody Mon Jun 15 07:34:28 2026 Received: from mail-pj1-f51.google.com (mail-pj1-f51.google.com [209.85.216.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7197F3DB635 for ; Wed, 8 Apr 2026 20:31:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775680289; cv=none; b=IqXo4JRsYxUIMF+nN3uLdEw/GsgGdA9n3i5+xpN86J4EpPANJ8v/L7ZLL1j2Sr3/NRFdHO8/a3gECJzH7AUtqX3xgnIBc/kTDrzRshbBGNscGzKE7ixhDbaa4EU+SDEgio+aREjQiryLlx4Fx31bJUKpINxlcKPUaTrgsZAyf0M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775680289; c=relaxed/simple; bh=QGij33wJFhH6BDsZbp1EjU0Ee4dTRv8svV4bvtTfqWU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YmiJhVw5fph1Zdg0OnqIn/dv6R06gzy9nuxmoqIWy/z5jHuXIpaV713L+6M8O9lqehnkwqBfkVJArKalo1+YXlyO1rBw+ki4yZ5NZxNomD9gTv9bnxS10ie/zU7khh3skeWTpJ73aNSTE+4T9n/fyZhazfwYEAVaAheyqOL4ck4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=M6feco9E; arc=none smtp.client-ip=209.85.216.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="M6feco9E" Received: by mail-pj1-f51.google.com with SMTP id 98e67ed59e1d1-35da9692ec3so262469a91.1 for ; Wed, 08 Apr 2026 13:31:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775680283; x=1776285083; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=NAHM66Ym2oGH+/cDJZYepjZly6TJiBADgwKTb2PsNjY=; b=M6feco9EH1P0rYDBAGglmWXGDbATO7+QsGMMo1+V6tttHwGtouTG+81HN+eZSbgqnU xwZIxMVVIzi9aSCm/Rk3Dtrz9GwZVsW3xrZBLyzzEAmJ8c0rm+E/pWi6G+uDNV7lD/n8 /9TZVXz8weJXX/d+u/tzXb2DhAoC3AtD7+rcn19OEJBkYxo778A72t8dyFm1qAl2FKDU 49JRI2Dlzio9nJ4Lvajs2ue14vM2rqemihJ3iPcbuCaudSnfWkzNNTeKeUC+wtmIYyYD xvDQBAI7RnJ/Nyw20CcnNtxBPcN+chuwF+XLiAe661kDYREz0akVy/Au1l1P/1Ye6f8S 8jVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775680283; x=1776285083; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=NAHM66Ym2oGH+/cDJZYepjZly6TJiBADgwKTb2PsNjY=; b=A7JAkKlefj66X+0/LDjM/9XZ+OtPNl/hyaOWsNgbSfH1RJIJpXXuUvJsB73+LU4Kiv 1I8c4f0my1JztgOJVqvLuBA/MYVieolzOxYbjmferocQDPSG86xZR91swoLNNBfkmfdZ VSI5wb2iHMQbHfgWzSgmsoBZgniPfwONGGk2nDvK8Yj2bI8RY4ht5QRDegYCltBd7Icf mZ0zbT78r5MEPCcNOR/HExZN73LrLX2oHwOgy7dNYbGispkG+g2qmcwwy6QZN91qF09r YVP7W4lQ+ivvk6iHflFzHIgI4/YtE7KklssoXxtmN9IHy0OpxTEUeAAEJ1zjWXuDtvbC E2jg== X-Forwarded-Encrypted: i=1; AJvYcCX5H+T9CEDtTmTvS5BLggfXnUV2VMZBnjIMlgWuLsX45vMZyP8i+3BuQcrs3UhHfQZNzF/IevdrfOq9hwg=@vger.kernel.org X-Gm-Message-State: AOJu0YyLoJQ9vf9PP3aq/mub9ShnIgKA6Xy/JsC9XSsO+OTvTlJ3LSsf YPzGc7zgeMFlhNitsSWlS7LTKhWDXJPXQliOL3HhK0pGScU4fiJsejP6 X-Gm-Gg: AeBDiesJ4Ytr1hjpxbJzdYvYjJmrRs9V4Uses62jbUQb/AeiIYCdoFAW29dO1CUsTz6 fpxapauQon4ypKseJxmPOg2Cqfd8U6rpjg9Fe39ar+MVxwK2HKO1xKUGGm8DdxWZI3+CCyu0BV8 9lzQpgqy7L88q6fCcY/lqFPpTBCLAvcvXlrClR/LQp3y6Z5dcYfkKiESRD51uHaZdgOLdaebww4 uZEXEFGxVbNHEpc7SXHWY5NHonvIbFE3zF2wNMjJ9S7eu3sTq2/1IMRM0qMXhF5rIaTdfZWl1P3 V52hgsQ4VKSgkETltQVqCwRjXaqZw0kTSBywfzXJ9vXQrlx22uhv+7hbH4CEFUzE7GDRvPbLi+x lPEG++8W8vvzRVjhaQMhmNBQdsh7Z9eK5mpAs1wrGJ5/LFY+uUK1sEBWZHjmNKfhU7rGfEPFeIb gwFA3u4S8DL7PwoH+M1T/nh1YUIuSEkFDFHn+1/g== X-Received: by 2002:a05:7301:4090:b0:2c8:6361:ab58 with SMTP id 5a478bee46e88-2cbfaaaaf92mr11577252eec.13.1775680282474; Wed, 08 Apr 2026 13:31:22 -0700 (PDT) Received: from tresc054937.tre-sc.gov.br ([187.65.210.13]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2d16d115c00sm9556512eec.12.2026.04.08.13.31.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Apr 2026 13:31:21 -0700 (PDT) From: Luiz Angelo Daros de Luca Date: Wed, 08 Apr 2026 17:31:01 -0300 Subject: [net-next PATCH 1/2] net: dsa: tag_rtl8_4: update format description Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260408-realtek_fixes-v1-1-915ff1404d56@gmail.com> References: <20260408-realtek_fixes-v1-0-915ff1404d56@gmail.com> In-Reply-To: <20260408-realtek_fixes-v1-0-915ff1404d56@gmail.com> To: Andrew Lunn , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Luiz Angelo Daros de Luca , =?utf-8?q?Alvin_=C5=A0ipraga?= , Linus Walleij X-Mailer: b4 0.15.1 From: Alvin =C5=A0ipraga Document the updated tag layout fields (EFID, VSEL/VIDX) and clarify which bits are set/cleared when emitting tags. Co-developed-by: Alvin =C5=A0ipraga Signed-off-by: Alvin =C5=A0ipraga Signed-off-by: Luiz Angelo Daros de Luca Reviewed-by: Linus Walleij --- net/dsa/tag_rtl8_4.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/net/dsa/tag_rtl8_4.c b/net/dsa/tag_rtl8_4.c index 2464545da4d2..b7ed39c5419f 100644 --- a/net/dsa/tag_rtl8_4.c +++ b/net/dsa/tag_rtl8_4.c @@ -17,8 +17,8 @@ * | (8-bit) | (8-bit) = | * | Protocol [0x04] | REASON = | b * |-----------------------------------+---------------------------------= --| y - * | (1) | (1) | (2) | (1) | (3) | (1) | (1) | (1) | (5) = | t - * | FID_EN | X | FID | PRI_EN | PRI | KEEP | X | LEARN_DIS | X = | e + * | (1) | (3) | (1) | (3) | (1) | (1) | (1) | (5) = | t + * | EFID_EN | EFID | PRI_EN | PRI | KEEP | VSEL | LEARN_DIS | VIDX= | e * |-----------------------------------+---------------------------------= --| s * | (1) | (15-bit) = | | * | ALLOW | TX/RX = | v @@ -32,19 +32,22 @@ * EtherType | note that Realtek uses the same EtherType for * | other incompatible tag formats (e.g. tag_rtl4_a= .c) * Protocol | 0x04: indicates that this tag conforms to this format - * X | reserved * ------------+------------- * REASON | reason for forwarding packet to CPU * | 0: packet was forwarded or flooded to CPU * | 80: packet was trapped to CPU - * FID_EN | 1: packet has an FID - * | 0: no FID - * FID | FID of packet (if FID_EN=3D1) + * EFID_EN | 1: packet has an EFID + * | 0: no EFID + * EFID | Extended filter ID (EFID) of packet (if EFID_EN=3D1) * PRI_EN | 1: force priority of packet * | 0: don't force priority * PRI | priority of packet (if PRI_EN=3D1) * KEEP | preserve packet VLAN tag format + * VSEL | 0: switch should classify packet according to VLAN tag + * | 1: switch should classify packet according to VLAN memb= ership + * | configuration with index VIDX * LEARN_DIS | don't learn the source MAC address of the packet + * VIDX | index of a VLAN membership configuration to use with VS= EL * ALLOW | 1: treat TX/RX field as an allowance port mask, meaning= the * | packet may only be forwarded to ports specified in t= he * | mask @@ -111,7 +114,7 @@ static void rtl8_4_write_tag(struct sk_buff *skb, struc= t net_device *dev, /* Set Protocol; zero REASON */ tag16[1] =3D htons(FIELD_PREP(RTL8_4_PROTOCOL, RTL8_4_PROTOCOL_RTL8365MB)= ); =20 - /* Zero FID_EN, FID, PRI_EN, PRI, KEEP; set LEARN_DIS */ + /* Zero EFID_EN, EFID, PRI_EN, PRI, VSEL, VIDX, KEEP; set LEARN_DIS */ tag16[2] =3D htons(FIELD_PREP(RTL8_4_LEARN_DIS, 1)); =20 /* Zero ALLOW; set RX (CPU->switch) forwarding port mask */ --=20 2.53.0 From nobody Mon Jun 15 07:34:28 2026 Received: from mail-pj1-f53.google.com (mail-pj1-f53.google.com [209.85.216.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C08603DB622 for ; Wed, 8 Apr 2026 20:31:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775680290; cv=none; b=dCig4PjICTX274aCYJzCmLd2EHl6gyPAC9uoH9ljr+Wp3YINbhlAmTfYgw5so66Eu8mgVz38Z0Xp3XfPhh/+PMkQPpC+d7bvyvA6w1/JDlmxER9bOccR0+/MfriGLupkDDqxpUr0zB8Z5zfHxlwwFJ8Uv6BOsvrs+TyueWBfIPk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775680290; c=relaxed/simple; bh=0Lnk5yYR4Jeq9L9QdpulP898oS7mVURTig5G98MTirM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Xlirn3EMJ0Zg96JPsr0vbM+f7N8HG2cK+6Uwjgpr7OSpryABtSaoVMJG5qTDOrAm2NGEXKN8PY7cJW7C1z3jxNjk5dUVWMeymz8BifF3HU/ULPiOiGIRiVtbCbzdU2SsratfIYr7Lp6KGg9R0vRR9rC1+oEJHZls8i4dbBdg6GU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=hHdZK38O; arc=none smtp.client-ip=209.85.216.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hHdZK38O" Received: by mail-pj1-f53.google.com with SMTP id 98e67ed59e1d1-35d8e548a05so202950a91.1 for ; Wed, 08 Apr 2026 13:31:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775680288; x=1776285088; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=5ZYke3O/zC0G+KGI4eNcYA6PyLtyQl46QT4L47XXVX8=; b=hHdZK38O2Z0FLLq3YS37w9kMQp727onqxh63meCiyK6mvH5LRHeiiJk4IBhXtQXblJ OiXRCEMiu/8sDut4nnFsxOXBHlxUKunAKg0tnckuQxcGmhW1LxIAUtvrMRRYw6GDtL+A 08VIo5JfMQznAR4ZRqPQLdF72c46QbAjz3a84P2lWEGEklJ/cMN5PotgclKmX9n6o6Nc B9JBwZRbTnS8q34uG7qlaqk/4WQdu4042xQ+b8X79Tg0K1shXMmITYBBhk79cde/Ek0e 4IS5LFN6TURLtXOToih+qFwf2dO+Bj9ItC19zttIm0Cas37mCNZno0R9K//5YfksJ96X bGPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775680288; x=1776285088; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=5ZYke3O/zC0G+KGI4eNcYA6PyLtyQl46QT4L47XXVX8=; b=ESq0sPrHEef7g4ACwIvBdNPU/Ed7FC4TqlNzCMVEQuXy0R18gw9cmhk0y17+PFEnhy AlGihZafgrkWlL6MVFrUEl2sNlMN0k+kEjDD8CkVm0B1jOpkDY0DQAa2YbNihlmgk2Mj TDIM8IPkf96RKdsNHUmU8msP0KVVUUmcOfx7/xN2hwHA5jvmJnxPqhCzOuJJXsGFFLVS fdWhu3PfDChMS2TzcZDQjiNsvcsoTc03pey/K7QmTJ/MhqFWZyT6aP5gONlBl4nGjRUq ksVTRvyFownuB+u7DcIJ2X1H6WqbbGQY53uUbnF97YBzgOi5/in3p39auP1UrG2RzruA 9gpg== X-Forwarded-Encrypted: i=1; AJvYcCUHF16ba4jQwBwJpjZCwCy0exFgt+cmTTI/tWHXfxDTLLkSEc18VwFE/muHdIoISIpij/IfFlvzKi8kBnM=@vger.kernel.org X-Gm-Message-State: AOJu0Yy4IPnviW3rSaL5sn2dQf2EZXp0+oAX5QMwINsVvwG6IBO0aTu8 OcthVoe0wa0O5l4vISFlfVg8Xv6CC7F/8r1IbzxptV/wJlUyFwnxta/h X-Gm-Gg: AeBDievHX4x6p2LaRD7tRtWmj2+6UmqEzQKcVFeIi0cUCg+p+biBi+p9yM4oqiyHA9V /yJzC92kFCK1fQreT246jqKwmdEvR5Yx8AlR5omnOhXrqpkI0nL9vnFKjXBvYJqqMWInA0hSCYD 7iQwR2eB7WFkeo/01JPDF+w/JjTyixLDfdedWQDyXw4+SmcpXZ+LriOtEYrPJ7s1Yki5Z4KAaTY M7IKhAt+d/7Kjf0SmtWb9cupnRNGE5KUn1RpoMPxEdoGNcsMCR46rQrW/DoLSvMZk9czVX2oARg 675dZxcGlhd0BHHnpV4No2212lc0J65k0Jv5oNmECJU10NhPaKxTFs5jYA0l6qgTlqOfxMAL1Yh NIx+O6kWMvak3e/hjw0bNomPkUTIWlyjkTw87bOp3dPTGkPnnfQZVD/LccibObafEFeq5VhdVSc HfK1YEooL5llkQGfVuPII45pBGGnBcLkg3YCmLnQ== X-Received: by 2002:a05:7301:6097:b0:2d3:1b7f:9273 with SMTP id 5a478bee46e88-2d40e6dd37bmr610184eec.21.1775680287991; Wed, 08 Apr 2026 13:31:27 -0700 (PDT) Received: from tresc054937.tre-sc.gov.br ([187.65.210.13]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2d16d115c00sm9556512eec.12.2026.04.08.13.31.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Apr 2026 13:31:26 -0700 (PDT) From: Luiz Angelo Daros de Luca Date: Wed, 08 Apr 2026 17:31:02 -0300 Subject: [net-next PATCH 2/2] net: dsa: tag_rtl8_4: set KEEP flag Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260408-realtek_fixes-v1-2-915ff1404d56@gmail.com> References: <20260408-realtek_fixes-v1-0-915ff1404d56@gmail.com> In-Reply-To: <20260408-realtek_fixes-v1-0-915ff1404d56@gmail.com> To: Andrew Lunn , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Luiz Angelo Daros de Luca , =?utf-8?q?Alvin_=C5=A0ipraga?= , Linus Walleij X-Mailer: b4 0.15.1 KEEP=3D1 is needed because we should respect the format of the packet as the kernel sends it to us. Unless tx forward offloading is used, the kernel is giving us the packet exactly as it should leave the specified port on the wire. Until now this was not needed because the ports were always functioning in a standalone mode in a VLAN-unaware way, so the switch would not tag or untag frames anyway. But arguably it should have been KEEP=3D1 all along. Co-developed-by: Alvin =C5=A0ipraga Signed-off-by: Alvin =C5=A0ipraga Signed-off-by: Luiz Angelo Daros de Luca Reviewed-by: Linus Walleij --- net/dsa/tag_rtl8_4.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/net/dsa/tag_rtl8_4.c b/net/dsa/tag_rtl8_4.c index b7ed39c5419f..852c6b88079a 100644 --- a/net/dsa/tag_rtl8_4.c +++ b/net/dsa/tag_rtl8_4.c @@ -99,6 +99,7 @@ #define RTL8_4_REASON_TRAP 80 =20 #define RTL8_4_LEARN_DIS BIT(5) +#define RTL8_4_KEEP BIT(7) =20 #define RTL8_4_TX GENMASK(3, 0) #define RTL8_4_RX GENMASK(10, 0) @@ -114,8 +115,9 @@ static void rtl8_4_write_tag(struct sk_buff *skb, struc= t net_device *dev, /* Set Protocol; zero REASON */ tag16[1] =3D htons(FIELD_PREP(RTL8_4_PROTOCOL, RTL8_4_PROTOCOL_RTL8365MB)= ); =20 - /* Zero EFID_EN, EFID, PRI_EN, PRI, VSEL, VIDX, KEEP; set LEARN_DIS */ - tag16[2] =3D htons(FIELD_PREP(RTL8_4_LEARN_DIS, 1)); + /* Zero EFID_EN, EFID, PRI_EN, PRI, VSEL, VIDX; set KEEP, LEARN_DIS */ + tag16[2] =3D htons(FIELD_PREP(RTL8_4_LEARN_DIS, 1) | + FIELD_PREP(RTL8_4_KEEP, 1)); =20 /* Zero ALLOW; set RX (CPU->switch) forwarding port mask */ tag16[3] =3D htons(FIELD_PREP(RTL8_4_RX, dsa_xmit_port_mask(skb, dev))); --=20 2.53.0