From: Vincent Bernat Date: Sat, 10 May 2014 07:03:03 +0000 (+0200) Subject: interfaces: fallback to fixed MAC if already a local MAC X-Git-Tag: 0.7.9~34 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c6d4d3229fb8f1e8430755e8701fc13dc3fc947f;p=thirdparty%2Flldpd.git interfaces: fallback to fixed MAC if already a local MAC This is what is documented in the manual page. --- diff --git a/src/daemon/interfaces.c b/src/daemon/interfaces.c index 2c772459..9460782a 100644 --- a/src/daemon/interfaces.c +++ b/src/daemon/interfaces.c @@ -573,15 +573,11 @@ interfaces_send_helper(struct lldpd *cfg, switch (cfg->g_config.c_bond_slave_src_mac_type) { case LLDP_BOND_SLAVE_SRC_MAC_TYPE_LOCALLY_ADMINISTERED: - if (*src_mac & MAC_UL_ADMINISTERED_BIT_MASK) { - /* If locally administered bit already set, - * use zero mac - */ - memset(src_mac, 0, ETHER_ADDR_LEN); + if (!(*src_mac & MAC_UL_ADMINISTERED_BIT_MASK)) { + *src_mac |= MAC_UL_ADMINISTERED_BIT_MASK; break; } - *src_mac |= MAC_UL_ADMINISTERED_BIT_MASK; - break; + /* Fallback to fixed value */ case LLDP_BOND_SLAVE_SRC_MAC_TYPE_FIXED: memcpy(src_mac, arbitrary, ETHER_ADDR_LEN); break;