summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--isisd/ChangeLog5
-rw-r--r--isisd/isis_circuit.c13
2 files changed, 13 insertions, 5 deletions
diff --git a/isisd/ChangeLog b/isisd/ChangeLog
index 35296fb4..726593ab 100644
--- a/isisd/ChangeLog
+++ b/isisd/ChangeLog
@@ -1,5 +1,10 @@
2004-09-26 Hasso Tepper <hasso at quagga.net>
+ * isis_circuit.c: Fix previous commit. Don't schedule LSP regeneration
+ and don't crash if circuit->area == NULL.
+
+2004-09-26 Hasso Tepper <hasso at quagga.net>
+
* *.[c|h]: Fix a lot of compiler warnings.
* isis_events.c: Remove isis_event_int_reach_change() function, as it
doesn't make sense for now. Call lsp_regenerate_schedule() directly
diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c
index 2dbdba3e..3669cf43 100644
--- a/isisd/isis_circuit.c
+++ b/isisd/isis_circuit.c
@@ -241,7 +241,8 @@ isis_circuit_add_addr (struct isis_circuit *circuit,
ipv4->prefixlen = connected->address->prefixlen;
ipv4->prefix = connected->address->u.prefix4;
listnode_add (circuit->ip_addrs, ipv4);
- lsp_regenerate_schedule (circuit->area);
+ if (circuit->area)
+ lsp_regenerate_schedule (circuit->area);
#ifdef EXTREME_DEBUG
prefix2str (connected->address, buf, BUFSIZ);
@@ -260,8 +261,8 @@ isis_circuit_add_addr (struct isis_circuit *circuit,
listnode_add (circuit->ipv6_link, ipv6);
else
listnode_add (circuit->ipv6_non_link, ipv6);
-
- lsp_regenerate_schedule (circuit->area);
+ if (circuit->area)
+ lsp_regenerate_schedule (circuit->area);
#ifdef EXTREME_DEBUG
prefix2str (connected->address, buf, BUFSIZ);
@@ -302,7 +303,8 @@ isis_circuit_del_addr (struct isis_circuit *circuit,
if (ip)
{
listnode_delete (circuit->ip_addrs, ip);
- lsp_regenerate_schedule (circuit->area);
+ if (circuit->area)
+ lsp_regenerate_schedule (circuit->area);
}
else
{
@@ -354,7 +356,8 @@ isis_circuit_del_addr (struct isis_circuit *circuit,
circuit %d", buf, circuit->circuit_id);
}
else
- lsp_regenerate_schedule (circuit->area);
+ if (circuit->area)
+ lsp_regenerate_schedule (circuit->area);
}
#endif /* HAVE_IPV6 */
return;