From nobody Wed Apr 1 09:45:02 2026 Received: from mail-vk1-f180.google.com (mail-vk1-f180.google.com [209.85.221.180]) (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 50682346766 for ; Tue, 31 Mar 2026 23:01:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774998070; cv=none; b=PUsaiztoZeJSjEqehaS8dwN758Ys5qZBsUPadVf7XsohxUQJBlnLIyhjdsxVuacvDrm0+VmMtXNdZGRbcH9lv/9w4vrPr7APBj8Ysyl+purE74Xcfas3WYnFVJRYdNzPB8p61V3kiIzeo8bTPc31E60OukGVYczLfWR0AufuCxY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774998070; c=relaxed/simple; bh=0rRRB1pnJMSltJnfuPdC7c14m71gUrKIm3lMrUNlwxc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oWE3RBBisZLtIGw7JC1wxvMzQ/7Hw/yHUm4i2L+6hnZ82mrF/fF4ooeFLfIdEpBH2Q46wb5N1bNqh3+UEQOMREHUfbIQTbd80ja5yaJGlXiwZLKRP8GsikwR9CvywKU8Q9rTBofZms2H/0W/khRgMVuwMbH7bkY4lVW/acp6ywA= 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=Dg5dNi6T; arc=none smtp.client-ip=209.85.221.180 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="Dg5dNi6T" Received: by mail-vk1-f180.google.com with SMTP id 71dfb90a1353d-5637886c92aso2971736e0c.0 for ; Tue, 31 Mar 2026 16:01:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774998068; x=1775602868; 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=nCcRDNWf/MJLY2UxfN+Xcd+3k+QnkQJ/sDWLTVG516k=; b=Dg5dNi6Tv/8f+lnqDF13xW5zFdyCc6T20FUlLh4Xy7fP8XbD6f7B57LeMqshSdHidl 5orKPH5ZpejoAaL4JqqEQ3v27tGY9+uwlGEUE5qYls6vFhwB7fNvALXVb7cdRL0yB3q2 YYVmDrFQy0NocvAyL18RuEAxWcJxQyp791uHxPBZodIwQezQFy62tmyPoGYEjyJRoMVN a8KUZZEsQ6stLxjKTOpI4lEvIaS64F/jjfqKtcj6E4Kr6idAT4YNTx8bY9l0HAhNdjna pv1t7087B0X5cuyItabM2eG9KLJ0nfl/vOWKsbtZjGP+r5uwMocbT8Uav4mP7EABoJTJ J9xA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774998068; x=1775602868; 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=nCcRDNWf/MJLY2UxfN+Xcd+3k+QnkQJ/sDWLTVG516k=; b=cNzv+bkndh/T4Nt4QPdnvLthhIBqYy5y+15bCfqHjfQTnR+67ye8Vl608ToN17ASPh sy8GmSHtQsR7YWT1XCBzAk/+utnoEuk0qWKKFsfeDef/LatMUb1WpSXihNORdjZBTAYK 2/mk3fLjIxKrQccX43023oLVpbExcg51eaLm2JkyFLT0ZS1iga9zn44cD9SztdzMbVqU j2VlpDuJknOjiCzyPlCw0/qv9YfM35DeSvWS78NAhdvyYZ0FUSvz5TBjFKW4M2A+ibiL MF2DHAaWrdZLahBUWhlpigP4Zwu8ZTncjaa33VJaH9AVL4eD9XPpvHRXDCppihMPD5D5 UUbw== X-Forwarded-Encrypted: i=1; AJvYcCVUAnDc1FkjgfCpobpEfDHQ1FuDp5k6aG+OFvtMqRa9KCAXLgVexA4UCdvTdBwS8oL4ozf9uChDYW+0KBw=@vger.kernel.org X-Gm-Message-State: AOJu0YyGIBsDv6eWty0im1WVwJvW0nPeWkmD+i7jOlt9+wvIaSaXxOOQ BD4FO2mm1PKaFkiVLR2kG0sY8aI0kTZJ8yBG3OG5hOr4Om/TDwuPVgAd X-Gm-Gg: ATEYQzy2cMe+7Jju2yMm06HYKBCz2kXXF1graHeRs8QX1YZdGlu9I8yshAYgpi4lFX/ 8MiIjW/joKIZSIOAsXRSdd1R+O0XpagljJh9nYnwd/Wmg0yMNjT6IdN7uIknONkv1GT9ogc0yLt w32IiOnRwV6499pqVV3sEb05BBJbWotWacYfGGDazDkr+oqhK3EsZ+FaqhmWhlornyR9CbYy4cE 2CN3BqkqwZU7ga+b0t6khb+mE7ZmXf9EMuMw6MzSUpyv+HVP7/V6sS+NlI+d7+zaHqb7dR1YDD7 VAAcmq2YTmJOZPgcA2HA109Cem639eOyg3p57oHYdSKekn7arQ0uMKBrFrKqOhBQxcz0vFgbAFt fsby2Wc2Bot4hyY93LukQDWEMpGPNSOcosiCGC9TduxowZGBkL/myHfXH+8xzI2cKqWnZJoJSmK 7u97vUkTye6b7Ex+dHPhpkWg4U2/zDGC/jg8iuzA== X-Received: by 2002:a05:6122:469a:b0:56a:f576:cfca with SMTP id 71dfb90a1353d-56d8a8184fbmr695578e0c.2.1774998068199; Tue, 31 Mar 2026 16:01:08 -0700 (PDT) Received: from tresc054937.tre-sc.gov.br ([187.65.210.13]) by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-56d58a7ba96sm13948214e0c.17.2026.03.31.16.01.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Mar 2026 16:01:06 -0700 (PDT) From: Luiz Angelo Daros de Luca Date: Tue, 31 Mar 2026 20:00:10 -0300 Subject: [net-next PATCH 10/10] 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: <20260331-realtek_forward-v1-10-44fb63033b7e@gmail.com> References: <20260331-realtek_forward-v1-0-44fb63033b7e@gmail.com> In-Reply-To: <20260331-realtek_forward-v1-0-44fb63033b7e@gmail.com> To: Andrew Lunn , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Linus Walleij , =?utf-8?q?Alvin_=C5=A0ipraga?= , Yury Norov , Rasmus Villemoes , Russell King Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Luiz Angelo Daros de Luca 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 --- 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