From mboxrd@z Thu Jan 1 00:00:00 1970 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: 8bit 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=1 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=1 all along. Co-developed-by: Alvin Šipraga Signed-off-by: Alvin Šipraga 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 #define RTL8_4_LEARN_DIS BIT(5) +#define RTL8_4_KEEP BIT(7) #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, struct net_device *dev, /* Set Protocol; zero REASON */ tag16[1] = htons(FIELD_PREP(RTL8_4_PROTOCOL, RTL8_4_PROTOCOL_RTL8365MB)); - /* Zero EFID_EN, EFID, PRI_EN, PRI, VSEL, VIDX, KEEP; set LEARN_DIS */ - tag16[2] = htons(FIELD_PREP(RTL8_4_LEARN_DIS, 1)); + /* Zero EFID_EN, EFID, PRI_EN, PRI, VSEL, VIDX; set KEEP, LEARN_DIS */ + tag16[2] = htons(FIELD_PREP(RTL8_4_LEARN_DIS, 1) | + FIELD_PREP(RTL8_4_KEEP, 1)); /* Zero ALLOW; set RX (CPU->switch) forwarding port mask */ tag16[3] = htons(FIELD_PREP(RTL8_4_RX, dsa_xmit_port_mask(skb, dev))); -- 2.53.0