]> git.puffer.fish Git - mirror/frr.git/commitdiff
isisd: Limit number of addresses in IPv4 addr TLV to 63
authorChristian Franke <chris@opensourcerouting.org>
Sun, 30 Jul 2017 17:03:57 +0000 (19:03 +0200)
committerChristian Franke <chris@opensourcerouting.org>
Thu, 3 Aug 2017 09:34:04 +0000 (11:34 +0200)
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
isisd/isis_tlvs.c

index 967eed6a2cdce7f9f59165af31bd0d2bf78f7b12..8efbcd28113d2ffa0d641196a0ce6faee59aee28 100644 (file)
@@ -2681,9 +2681,14 @@ void isis_tlvs_add_ipv4_addresses(struct isis_tlvs *tlvs,
 {
        struct listnode *node;
        struct prefix_ipv4 *ip_addr;
+       unsigned int addr_count = 0;
 
-       for (ALL_LIST_ELEMENTS_RO(addresses, node, ip_addr))
+       for (ALL_LIST_ELEMENTS_RO(addresses, node, ip_addr)) {
                isis_tlvs_add_ipv4_address(tlvs, &ip_addr->prefix);
+               addr_count++;
+               if (addr_count >= 63)
+                       break;
+       }
 }
 
 void isis_tlvs_add_ipv6_addresses(struct isis_tlvs *tlvs,