From: Andrew Lunn <andrew@lunn.ch>
To: Joseph Huang <Joseph.Huang@garmin.com>
Cc: netdev@vger.kernel.org,
Joseph Huang <joseph.huang.2024@gmail.com>,
Vladimir Oltean <olteanv@gmail.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Guenter Roeck <linux@roeck-us.net>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH net] net: dsa: mv88e6xxx: Verify after ATU Load ops
Date: Wed, 5 Mar 2025 16:14:18 +0100 [thread overview]
Message-ID: <2ea7cde2-2aa1-4ef4-a3ea-9991c1928d68@lunn.ch> (raw)
In-Reply-To: <20250304235352.3259613-1-Joseph.Huang@garmin.com>
On Tue, Mar 04, 2025 at 06:53:51PM -0500, Joseph Huang wrote:
> ATU Load operations could fail silently if there's not enough space
> on the device to hold the new entry.
>
> Do a Read-After-Write verification after each fdb/mdb add operation
> to make sure that the operation was really successful, and return
> -ENOSPC otherwise.
Please could you add a description of what the user sees when the ATU
is full. What makes this a bug which needs fixing? I would of thought
at least for unicast addresses, the switch has no entry for the
destination, so sends the packet to the CPU. The CPU will then
software bridge it out the correct port. Reporting ENOSPC will not
change that.
> @@ -2845,7 +2866,8 @@ static int mv88e6xxx_port_fdb_add(struct dsa_switch *ds, int port,
>
> mv88e6xxx_reg_lock(chip);
> err = mv88e6xxx_port_db_load_purge(chip, port, addr, vid,
> - MV88E6XXX_G1_ATU_DATA_STATE_UC_STATIC);
> + MV88E6XXX_G1_ATU_DATA_STATE_UC_STATIC,
> + true);
> mv88e6xxx_reg_unlock(chip);
>
> return err;
> @@ -6613,7 +6635,8 @@ static int mv88e6xxx_port_mdb_add(struct dsa_switch *ds, int port,
>
> mv88e6xxx_reg_lock(chip);
> err = mv88e6xxx_port_db_load_purge(chip, port, mdb->addr, mdb->vid,
> - MV88E6XXX_G1_ATU_DATA_STATE_MC_STATIC);
> + MV88E6XXX_G1_ATU_DATA_STATE_MC_STATIC,
> + true);
> mv88e6xxx_reg_unlock(chip);
This change seems bigger than what it needs to be. Rather than modify
mv88e6xxx_port_db_load_purge(), why not perform the lookup just in
these two functions via a helper?
Andrew
---
pw-bot: cr
next prev parent reply other threads:[~2025-03-05 15:14 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-04 23:53 [PATCH net] net: dsa: mv88e6xxx: Verify after ATU Load ops Joseph Huang
2025-03-05 15:14 ` Andrew Lunn [this message]
2025-03-05 17:44 ` Joseph Huang
2025-03-05 18:01 ` Andrew Lunn
2025-03-05 20:28 ` [PATCH v2 net 1/1] " Joseph Huang
2025-03-06 15:45 ` Andrew Lunn
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=2ea7cde2-2aa1-4ef4-a3ea-9991c1928d68@lunn.ch \
--to=andrew@lunn.ch \
--cc=Joseph.Huang@garmin.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=joseph.huang.2024@gmail.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).