summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--isisd/isis_tlvs.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/isisd/isis_tlvs.c b/isisd/isis_tlvs.c
index 967eed6a2c..8efbcd2811 100644
--- a/isisd/isis_tlvs.c
+++ b/isisd/isis_tlvs.c
@@ -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,