From: Jakub Kicinski <kuba@kernel.org>
To: Tobias Junghans <tobias.junghans@inhub.de>
Cc: Lee Jones <lee@kernel.org>, Andrew Lunn <andrew@lunn.ch>,
linux-leds@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [PATCH v3] leds: trigger: netdev: refactor dev matching in netdev_trig_notify()
Date: Tue, 29 Apr 2025 11:50:07 -0700 [thread overview]
Message-ID: <20250429115007.12f8af38@kernel.org> (raw)
In-Reply-To: <20250425132059.393144-1-tobias.junghans@inhub.de>
On Fri, 25 Apr 2025 15:20:45 +0200 Tobias Junghans wrote:
> If there are network devices with the same name in different
> namespaces, ledtrig-netdev gets confused easily and switches between
> these devices whenever there are NETDEV_CHANGENAME/NETDEV_REGISTER
> notifications. This happens since ledtrig-netdev only checks for
> device name equality regardless of previous associations with another
> network device with the same name.
>
> Real world example: eth0 is the primary physical network interface and
> ledltrig-netdev is associated with that interface. If now Docker creates
> a virtual Ethernet interface (vethXXXX), moves it to the
> container's net namespace and renames it to eth0, ledtrig-netdev
> switches to this device and the LED no longer blinks for the original
> (physical) network device.
>
> Fix this by refactoring the conditions under which to return early with
> NOTIFY_DONE inside netdev_trig_notify():
>
> - For processing NETDEV_REGISTER events, the device name has to match
> and no association with a net_dev must exist.
>
> - For processing NETDEV_CHANGENAME events, the associated and notified
> network device have to match. Alternatively the device name has to
> match and no association with a net_dev must exist.
>
> - For all other events, the associated and notified network device have
> to match.
Could you split this into two patches for ease of review?
First which factors out all the logic related to deciding if the event
needs to be handled, move it to a new helper which takes the relevant
args are turns bool of whether we should return NOTIFY_DONE immediately
or not. And then a second patch which modifies this logic.
Having the refactor squashed with the change makes it harder to review.
prev parent reply other threads:[~2025-04-29 18:50 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-25 13:20 [PATCH v3] leds: trigger: netdev: refactor dev matching in netdev_trig_notify() Tobias Junghans
2025-04-29 18:50 ` Jakub Kicinski [this message]
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=20250429115007.12f8af38@kernel.org \
--to=kuba@kernel.org \
--cc=andrew@lunn.ch \
--cc=lee@kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=tobias.junghans@inhub.de \
/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).