From c6d4d3229fb8f1e8430755e8701fc13dc3fc947f Mon Sep 17 00:00:00 2001 From: Vincent Bernat Date: Sat, 10 May 2014 09:03:03 +0200 Subject: [PATCH] interfaces: fallback to fixed MAC if already a local MAC This is what is documented in the manual page. --- src/daemon/interfaces.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) 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; -- 2.47.2