summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhasso <hasso>2004-09-21 14:23:01 +0000
committerhasso <hasso>2004-09-21 14:23:01 +0000
commitd9c427b21a5509a940178dedebec625bd7a9640a (patch)
tree26e51a185fc6940bdbe1b4a193fcc08a0a64813d
parent6785157b6509c83a39db4ad78c60b8ab00914673 (diff)
Yet another DIS election fix from LIU Xin - update dis_record of
adjacencies when isisd becomes DIS.
-rw-r--r--isisd/ChangeLog4
-rw-r--r--isisd/isis_dr.c11
2 files changed, 14 insertions, 1 deletions
diff --git a/isisd/ChangeLog b/isisd/ChangeLog
index 1c452447..2b49c696 100644
--- a/isisd/ChangeLog
+++ b/isisd/ChangeLog
@@ -1,3 +1,7 @@
+2004-09-21 LIU Xin <lx at ns.6test.edu.cn>
+
+ * isis_dr.c: Update dis_record of adjacencies when isisd becomes DIS.
+
2004-09-21 Hasso Tepper <hasso at quagga.net>
* isis_lsp.c: Put IPv4 prefixes into reachability TLVs, not
diff --git a/isisd/isis_dr.c b/isisd/isis_dr.c
index d7f3dfdc..c6c9e584 100644
--- a/isisd/isis_dr.c
+++ b/isisd/isis_dr.c
@@ -211,8 +211,17 @@ isis_dr_elect (struct isis_circuit *circuit, int level)
if (!circuit->u.bc.is_dr[level - 1])
{
/*
- * We are the DR -> commence
+ * We are the DR
*/
+
+ /* rotate the history log */
+ for (node = listhead (list); node; nextnode (node))
+ {
+ adj = getdata (node);
+ isis_check_dr_change (adj, level);
+ }
+
+ /* commence */
list_delete (list);
return isis_dr_commence (circuit, level);
}