From b2ed14edc66c7876cd9239a346b92630403e996c Mon Sep 17 00:00:00 2001 From: Steven Webster Date: Sun, 18 Jun 2017 22:23:49 -0400 Subject: [PATCH 1/1] Clear station bit if any other capability is enabled --- src/daemon/interfaces.c | 2 ++ src/daemon/lldpd.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/daemon/interfaces.c b/src/daemon/interfaces.c index ec81721..4923049 100644 --- a/src/daemon/interfaces.c +++ b/src/daemon/interfaces.c @@ -309,6 +309,8 @@ interfaces_helper_chassis(struct lldpd *cfg, if ((LOCAL_CHASSIS(cfg)->c_cap_available & LLDP_CAP_STATION) && (LOCAL_CHASSIS(cfg)->c_cap_enabled == 0)) LOCAL_CHASSIS(cfg)->c_cap_enabled = LLDP_CAP_STATION; + else if (LOCAL_CHASSIS(cfg)->c_cap_enabled != LLDP_CAP_STATION) + LOCAL_CHASSIS(cfg)->c_cap_enabled &= ~LLDP_CAP_STATION; if (LOCAL_CHASSIS(cfg)->c_id != NULL && LOCAL_CHASSIS(cfg)->c_id_subtype == LLDP_CHASSISID_SUBTYPE_LLADDR) diff --git a/src/daemon/lldpd.c b/src/daemon/lldpd.c index c815705..dac633f 100644 --- a/src/daemon/lldpd.c +++ b/src/daemon/lldpd.c @@ -1152,6 +1152,8 @@ lldpd_update_localchassis(struct lldpd *cfg) if ((LOCAL_CHASSIS(cfg)->c_cap_available & LLDP_CAP_STATION) && (LOCAL_CHASSIS(cfg)->c_cap_enabled == 0)) LOCAL_CHASSIS(cfg)->c_cap_enabled = LLDP_CAP_STATION; + else if (LOCAL_CHASSIS(cfg)->c_cap_enabled != LLDP_CAP_STATION) + LOCAL_CHASSIS(cfg)->c_cap_enabled &= ~LLDP_CAP_STATION; /* Set chassis ID if needed. This is only done if chassis ID has not been set previously (with the MAC address of an -- 1.8.3.1