thanks to a patch from Jorge Boncompte.
+ Add a new output (keyvalue) for lldpctl.
+ * Fixes:
+ + Ignore interface with no queue. It should filter out interfaces
+ like "vnet0" that would fail if we try to send something on them.
+
lldpd (0.5.0)
* Features:
iface_minimal_checks(struct lldpd *cfg, struct ifaddrs *ifa)
{
struct sockaddr_ll *sdl;
+ struct ifreq ifr;
int is_bridge = iface_is_bridge(cfg, ifa->ifa_name);
if (!(LOCAL_CHASSIS(cfg)->c_cap_enabled & LLDP_CAP_BRIDGE) &&
if (!(ifa->ifa_flags & (IFF_MULTICAST|IFF_BROADCAST)))
return 0;
+ /* Check queue len. If no queue, this usually means that this
+ is not a "real" interface. */
+ memset(&ifr, 0, sizeof(ifr));
+ strcpy(ifr.ifr_name, ifa->ifa_name);
+ if ((ioctl(cfg->g_sock, SIOCGIFTXQLEN, &ifr) < 0) || !ifr.ifr_qlen)
+ return 0;
+
/* Don't handle bond and VLAN, nor bridge */
if ((iface_is_vlan(cfg, ifa->ifa_name)) ||
(iface_is_bond(cfg, ifa->ifa_name)) ||