1 From b2ed14edc66c7876cd9239a346b92630403e996c Mon Sep 17 00:00:00 2001
2 From: Steven Webster <steven.webster@windriver.com>
3 Date: Sun, 18 Jun 2017 22:23:49 -0400
4 Subject: [PATCH 1/1] Clear station bit if any other capability is enabled
7 src/daemon/interfaces.c | 2 ++
8 src/daemon/lldpd.c | 2 ++
9 2 files changed, 4 insertions(+)
11 diff --git a/src/daemon/interfaces.c b/src/daemon/interfaces.c
12 index ec81721..4923049 100644
13 --- a/src/daemon/interfaces.c
14 +++ b/src/daemon/interfaces.c
15 @@ -309,6 +309,8 @@ interfaces_helper_chassis(struct lldpd *cfg,
16 if ((LOCAL_CHASSIS(cfg)->c_cap_available & LLDP_CAP_STATION) &&
17 (LOCAL_CHASSIS(cfg)->c_cap_enabled == 0))
18 LOCAL_CHASSIS(cfg)->c_cap_enabled = LLDP_CAP_STATION;
19 + else if (LOCAL_CHASSIS(cfg)->c_cap_enabled != LLDP_CAP_STATION)
20 + LOCAL_CHASSIS(cfg)->c_cap_enabled &= ~LLDP_CAP_STATION;
22 if (LOCAL_CHASSIS(cfg)->c_id != NULL &&
23 LOCAL_CHASSIS(cfg)->c_id_subtype == LLDP_CHASSISID_SUBTYPE_LLADDR)
24 diff --git a/src/daemon/lldpd.c b/src/daemon/lldpd.c
25 index c815705..dac633f 100644
26 --- a/src/daemon/lldpd.c
27 +++ b/src/daemon/lldpd.c
28 @@ -1152,6 +1152,8 @@ lldpd_update_localchassis(struct lldpd *cfg)
29 if ((LOCAL_CHASSIS(cfg)->c_cap_available & LLDP_CAP_STATION) &&
30 (LOCAL_CHASSIS(cfg)->c_cap_enabled == 0))
31 LOCAL_CHASSIS(cfg)->c_cap_enabled = LLDP_CAP_STATION;
32 + else if (LOCAL_CHASSIS(cfg)->c_cap_enabled != LLDP_CAP_STATION)
33 + LOCAL_CHASSIS(cfg)->c_cap_enabled &= ~LLDP_CAP_STATION;
35 /* Set chassis ID if needed. This is only done if chassis ID
36 has not been set previously (with the MAC address of an