From: Vincent Bernat Date: Mon, 20 Oct 2008 13:58:57 +0000 (+0200) Subject: Test earlier if the interface is an Ethernet one. X-Git-Tag: 0.2~31 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=99f85c004d759d001abca8117046acb6493d6820;p=thirdparty%2Flldpd.git Test earlier if the interface is an Ethernet one. This should avoid a bug when using deprecated bridge ioctl. --- diff --git a/src/lldpd.c b/src/lldpd.c index c9291e25..3f4ea32e 100644 --- a/src/lldpd.c +++ b/src/lldpd.c @@ -1438,6 +1438,10 @@ lldpd_loop(struct lldpd *cfg) } } + sdl = (struct sockaddr_ll *)ifa->ifa_addr; + if (sdl->sll_hatype != ARPHRD_ETHER || !sdl->sll_halen) + continue; + if (iface_is_bridge(cfg, ifa->ifa_name)) { cfg->g_lchassis.c_cap_enabled |= LLDP_CAP_BRIDGE; continue; @@ -1454,10 +1458,6 @@ lldpd_loop(struct lldpd *cfg) if (!(ifa->ifa_flags & IFF_MULTICAST)) continue; - sdl = (struct sockaddr_ll *)ifa->ifa_addr; - if (sdl->sll_hatype != ARPHRD_ETHER || !sdl->sll_halen) - continue; - if (iface_is_wireless(cfg, ifa->ifa_name)) cfg->g_lchassis.c_cap_enabled |= LLDP_CAP_WLAN;