This means that we have just been enslaved, but don't know the
master. On Linux, enslaved device are handled differently of regular
device. When we are half-enslaved (no upper interface yet), we are still
a regular interface. When we are fully enslaved, we may do nothing
because there is no local change (since flags are the same). Therefore,
clear the flag to avoid this issue.
+ Correctly parse LLDP-MED civic address when the length of the
TLV exceeds the length of the address.
+ Fix 100% CPU on some rare error condition.
+ + Fix lost timer when an interface is enslaved on Linux.
lldpd (0.9.5)
* Change:
iff->index);
return -1;
}
+ if (iff->upper_idx == -1) {
+ /* No upper interface, we cannot be enslaved. We need to clear
+ * the flag because the appropriate information may come later
+ * and we don't want to miss it. */
+ iff->flags &= ~IFF_SLAVE;
+ }
log_debug("netlink", "parsed link %d (%s, flags: %d)",
iff->index, iff->name, iff->flags);