[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251027224722.akxniuim6yvfuq6d@skbuf>
Date: Tue, 28 Oct 2025 00:47:22 +0200
From: Vladimir Oltean <olteanv@...il.com>
To: Daniel Golle <daniel@...rotopia.org>
Cc: Hauke Mehrtens <hauke@...ke-m.de>, Andrew Lunn <andrew@...n.ch>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Simon Horman <horms@...nel.org>,
Russell King <linux@...linux.org.uk>, netdev@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
Andreas Schirm <andreas.schirm@...mens.com>,
Lukas Stockmann <lukas.stockmann@...mens.com>,
Alexander Sverdlin <alexander.sverdlin@...mens.com>,
Peter Christen <peter.christen@...mens.com>,
Avinash Jayaraman <ajayaraman@...linear.com>,
Bing tao Xu <bxu@...linear.com>, Liang Xu <lxu@...linear.com>,
Juraj Povazanec <jpovazanec@...linear.com>,
"Fanni (Fang-Yi) Chan" <fchan@...linear.com>,
"Benny (Ying-Tsan) Weng" <yweng@...linear.com>,
"Livia M. Rosu" <lrosu@...linear.com>,
John Crispin <john@...ozen.org>
Subject: Re: [PATCH net-next v3 05/12] net: dsa: lantiq_gswip: define and use
GSWIP_TABLE_MAC_BRIDGE_VAL1_VALID
On Sun, Oct 26, 2025 at 11:44:50PM +0000, Daniel Golle wrote:
> When adding FDB entries to the MAC bridge table it is needed to set an
> (undocumented) bit to mark the entry as valid. If this bit isn't set for
> entries in the MAC bridge table, then those entries won't be considered as
> valid MAC addresses.
Irrespective of GSWIP version? Does this issue have a user visible
impact that would justify targeting stable kernels? My reading of the
commit description is that the driver can never program static FDB entries?
>
> Signed-off-by: Daniel Golle <daniel@...rotopia.org>
> ---
> drivers/net/dsa/lantiq/lantiq_gswip.h | 1 +
> drivers/net/dsa/lantiq/lantiq_gswip_common.c | 3 ++-
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/dsa/lantiq/lantiq_gswip.h b/drivers/net/dsa/lantiq/lantiq_gswip.h
> index 56de869fc472..42000954d842 100644
> --- a/drivers/net/dsa/lantiq/lantiq_gswip.h
> +++ b/drivers/net/dsa/lantiq/lantiq_gswip.h
> @@ -224,6 +224,7 @@
> #define GSWIP_TABLE_MAC_BRIDGE_KEY3_FID GENMASK(5, 0) /* Filtering identifier */
> #define GSWIP_TABLE_MAC_BRIDGE_VAL0_PORT GENMASK(7, 4) /* Port on learned entries */
> #define GSWIP_TABLE_MAC_BRIDGE_VAL1_STATIC BIT(0) /* Static, non-aging entry */
> +#define GSWIP_TABLE_MAC_BRIDGE_VAL1_VALID BIT(1) /* Valid bit */
>
> #define XRX200_GPHY_FW_ALIGN (16 * 1024)
>
> diff --git a/drivers/net/dsa/lantiq/lantiq_gswip_common.c b/drivers/net/dsa/lantiq/lantiq_gswip_common.c
> index 0ac87eb23bb5..94b187899db6 100644
> --- a/drivers/net/dsa/lantiq/lantiq_gswip_common.c
> +++ b/drivers/net/dsa/lantiq/lantiq_gswip_common.c
> @@ -1149,7 +1149,8 @@ static int gswip_port_fdb(struct dsa_switch *ds, int port,
> mac_bridge.key[2] = addr[1] | (addr[0] << 8);
> mac_bridge.key[3] = FIELD_PREP(GSWIP_TABLE_MAC_BRIDGE_KEY3_FID, fid);
> mac_bridge.val[0] = add ? BIT(port) : 0; /* port map */
> - mac_bridge.val[1] = GSWIP_TABLE_MAC_BRIDGE_VAL1_STATIC;
> + mac_bridge.val[1] = add ? (GSWIP_TABLE_MAC_BRIDGE_VAL1_STATIC |
> + GSWIP_TABLE_MAC_BRIDGE_VAL1_VALID) : 0;
> mac_bridge.valid = add;
>
> err = gswip_pce_table_entry_write(priv, &mac_bridge);
> --
> 2.51.1
There is a second change, which is that GSWIP_TABLE_MAC_BRIDGE_VAL1_STATIC
no longer gets set when "add=false". If it was deliberate according to
the commit message (for example if it appears to not matter, the FDB
entry is deleted anyway), it would have been fine, but nothing is said
about it, so I have to wonder.
Powered by blists - more mailing lists