]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
udev: network-hotplug-bridges: Silence a warning when interfaces have gone away
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 17 Oct 2024 14:54:15 +0000 (14:54 +0000)
committerArne Fitzenreiter <arne_f@ipfire.org>
Tue, 5 Nov 2024 07:46:38 +0000 (08:46 +0100)
It can happen that udev has an event for an interface in the queue that
has already gone away - or even just being renamed.

Then reading the MAC address fails. Because the shell expands the
"$(<...)" statement before running the whole line, the read check is
useless.

Because the code would get too complicated otherwise, I decided to use
cat. Not cool, but this does the job.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
config/udev/network-hotplug-bridges

index 9fded1fd030194e84f3c53101f56760f5fdcf129..39faeb5a9e98912a8e9748e38113fb4afee7e3a3 100644 (file)
@@ -42,7 +42,7 @@ detect_zone() {
                local slave
                for slave in $(get_value "${zone}_SLAVES"); do
                        # Compare if the mac address matches or if the name matches
-                       if [ -r "/sys/class/net/${INTERFACE}/address" -a "$(</sys/class/net/${INTERFACE}/address)" = "${slave}" ] || [ "${INTERFACE}" = "${slave}" ]; then
+                       if [ "$(cat /sys/class/net/${INTERFACE}/address 2>/dev/null)" = "${slave}" ] || [ "${INTERFACE}" = "${slave}" ]; then
                                echo "${zone}"
                                return 0
                        fi