From: sashiko-bot@kernel.org
To: wei.fang@oss.nxp.com
Cc: Frank.Li@kernel.org, imx@lists.linux.dev
Subject: Re: [PATCH net-next 9/9] net: dsa: netc: implement dynamic FDB entry aging
Date: Sat, 30 May 2026 00:50:06 +0000 [thread overview]
Message-ID: <20260530005009.7EB691F00893@smtp.kernel.org> (raw)
In-Reply-To: <20260527100217.794987-10-wei.fang@oss.nxp.com>
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] Setting aging time to 0 incorrectly results in aggressive 1-second aging instead of disabling aging.
- [Medium] Changes to the aging time do not take effect immediately due to failure to reschedule the pending delayed work.
--
commit d6713501ccd21f4b93ade1b9678b912b0922c0ca
Author: Wei Fang <wei.fang@nxp.com>
net: dsa: netc: implement dynamic FDB entry aging
The NETC switch does not age out dynamic FDB entries automatically. This
commit adds a delayed work to periodically remove unrefreshed entries,
along with DSA operations to configure aging time and flush per-port
entries on demand.
> diff --git a/drivers/net/dsa/netc/netc_main.c b/drivers/net/dsa/netc/netc_main.c
> index 1fe3b43e04598..cffa479e19b3f 100644
> --- a/drivers/net/dsa/netc/netc_main.c
> +++ b/drivers/net/dsa/netc/netc_main.c
[ ... ]
> @@ -1977,6 +2026,34 @@ static void netc_port_bridge_leave(struct dsa_switch *ds, int port,
> netc_port_del_vlan_entry(np, vlan_unaware_pvid);
> }
>
> +static int netc_set_ageing_time(struct dsa_switch *ds, unsigned int msecs)
> +{
> + struct netc_switch *priv = ds->priv;
> + u32 secs = msecs / 1000;
> + u32 act_cnt, interval;
> +
> + if (!secs)
> + secs = 1;
[Severity: High]
In the bridge subsystem, an aging time of 0 explicitly means that dynamic
FDB entries should never age out. Because the driver does not configure
ds->ageing_time_min, the DSA layer allows an msecs value of 0 to reach
netc_set_ageing_time().
Does forcing secs to 1 here break the ability to disable aging?
Instead of disabling the software aging work, it configures the work to run
every 1 second. Can this cause immediate MAC address eviction when the
expected behavior is for aging to be disabled?
> +
> + for (interval = 1; interval <= secs; interval++) {
> + act_cnt = secs / interval;
> + if (act_cnt <= FDBT_ACT_CNT)
> + break;
> + }
> +
> + WRITE_ONCE(priv->fdbt_acteu_interval, (unsigned long)interval * HZ);
> + WRITE_ONCE(priv->fdbt_ageing_act_cnt, act_cnt);
[Severity: Medium]
When netc_set_ageing_time() updates priv->fdbt_acteu_interval, it only uses
WRITE_ONCE() without updating the currently scheduled fdbt_clean work.
If the previous aging interval was set to a large value and is then reduced,
will the system wait for the remainder of the old duration before waking up
and applying the new aging parameters? Should this call mod_delayed_work()
to apply the changes immediately?
> +
> + return 0;
> +}
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260527100217.794987-1-wei.fang@oss.nxp.com?part=9
next prev parent reply other threads:[~2026-05-30 0:50 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-27 10:02 [PATCH net-next 0/9] net: dsa: netc: add bridge mode support wei.fang
2026-05-27 10:02 ` [PATCH net-next 1/9] net: enetc: add interfaces to manage FDB entries wei.fang
2026-05-30 0:49 ` sashiko-bot
2026-05-27 10:02 ` [PATCH net-next 2/9] net: enetc: add "Update" and "Delete" operations to VLAN filter table wei.fang
2026-05-27 10:02 ` [PATCH net-next 3/9] net: enetc: add interfaces to manage egress treatment table wei.fang
2026-05-27 10:02 ` [PATCH net-next 4/9] net: enetc: add "Update" operation to the egress count table wei.fang
2026-05-27 10:02 ` [PATCH net-next 5/9] net: dsa: netc: initialize the group bitmap of ETT and ECT wei.fang
2026-05-27 10:02 ` [PATCH net-next 6/9] net: enetc: add helpers to set/clear table bitmap wei.fang
2026-05-27 10:02 ` [PATCH net-next 7/9] net: dsa: netc: add VLAN filter table and egress treatment management wei.fang
2026-05-30 0:50 ` sashiko-bot
2026-05-27 10:02 ` [PATCH net-next 8/9] net: dsa: netc: add bridge mode support wei.fang
2026-05-30 0:50 ` sashiko-bot
2026-05-27 10:02 ` [PATCH net-next 9/9] net: dsa: netc: implement dynamic FDB entry aging wei.fang
2026-05-30 0:50 ` sashiko-bot [this message]
2026-05-29 1:53 ` [PATCH net-next 0/9] net: dsa: netc: add bridge mode support Wei Fang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260530005009.7EB691F00893@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=Frank.Li@kernel.org \
--cc=imx@lists.linux.dev \
--cc=sashiko-reviews@lists.linux.dev \
--cc=wei.fang@oss.nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.