]> git.ipfire.org Git - thirdparty/lldpd.git/commitdiff
daemon/protocols/lldp.c: do not send system capabilities if none available
authorAlexandru Ardelean <ardeleanalex@gmail.com>
Thu, 2 Apr 2015 07:40:13 +0000 (10:40 +0300)
committerAlexandru Ardelean <ardeleanalex@gmail.com>
Thu, 9 Apr 2015 09:26:20 +0000 (12:26 +0300)
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
src/daemon/protocols/lldp.c

index 0d68e5de21834ae5f3f34ea6d45764f8e2ac279c..108a3f736f2f25f752be194ab970e2ac50332428 100644 (file)
@@ -146,12 +146,14 @@ static int _lldp_send(struct lldpd *global,
        }
 
        /* System capabilities */
-       if (!(
-             POKE_START_LLDP_TLV(LLDP_TLV_SYSTEM_CAP) &&
-             POKE_UINT16(chassis->c_cap_available) &&
-             POKE_UINT16(chassis->c_cap_enabled) &&
-             POKE_END_LLDP_TLV))
-               goto toobig;
+       if (chassis->c_cap_available) {
+               if (!(
+                           POKE_START_LLDP_TLV(LLDP_TLV_SYSTEM_CAP) &&
+                           POKE_UINT16(chassis->c_cap_available) &&
+                           POKE_UINT16(chassis->c_cap_enabled) &&
+                           POKE_END_LLDP_TLV))
+                       goto toobig;
+       }
 
        /* Management addresses */
        TAILQ_FOREACH(mgmt, &chassis->c_mgmt, m_entries) {