]> git.ipfire.org Git - thirdparty/lldpd.git/commitdiff
daemon: do not query PHY for a down interface on Linux
authorVincent Bernat <vincent@bernat.ch>
Fri, 25 Oct 2024 16:33:28 +0000 (18:33 +0200)
committerVincent Bernat <vincent@bernat.ch>
Fri, 25 Oct 2024 16:34:40 +0000 (18:34 +0200)
It may wake up the device.

Fix #685

NEWS
src/daemon/interfaces-linux.c

diff --git a/NEWS b/NEWS
index f02685193cfb3c4ae7802c01f236c0271bd8a71c..834945e055228d94007ed6b9dcea89cc2887f464 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,7 @@ lldpd (1.0.19)
    + Support of both Apple Silicon and Intel for macOS package.
    + Add cvlan/svlan/tpmr capabilities.
    + Disable LLDP in firmware for Intel X7xx cards on FreeBSD.
+   + Do not query stats for a down interface on Linux.
 
 lldpd (1.0.18)
  * Changes (breaking):
index fb0c877b50fb61c1ed371432fd7efb4cafbdabff..cb77555d8b56ca12b98c8b8bc24310cb6ed13ec6 100644 (file)
@@ -390,7 +390,7 @@ iflinux_get_permanent_mac(struct lldpd *cfg, struct interfaces_device_list *inte
 #ifdef ENABLE_DOT3
 #  define ETHTOOL_LINK_MODE_MASK_MAX_KERNEL_NU32 (SCHAR_MAX)
 #  define ETHTOOL_DECLARE_LINK_MODE_MASK(name) \
-    uint32_t name[ETHTOOL_LINK_MODE_MASK_MAX_KERNEL_NU32]
+         uint32_t name[ETHTOOL_LINK_MODE_MASK_MAX_KERNEL_NU32]
 
 struct ethtool_link_usettings {
        struct ethtool_link_settings base;
@@ -1038,7 +1038,7 @@ interfaces_update(struct lldpd *cfg)
 
        /* Mac/PHY */
        TAILQ_FOREACH (hardware, &cfg->g_hardware, h_entries) {
-               if (!hardware->h_flags) continue;
+               if (!(hardware->h_flags & IFF_RUNNING)) continue;
                iflinux_macphy(cfg, hardware);
                interfaces_helper_promisc(cfg, hardware);
        }