summaryrefslogtreecommitdiff
path: root/isisd/isis_dr.c
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 /isisd/isis_dr.c
parent6785157b6509c83a39db4ad78c60b8ab00914673 (diff)
Yet another DIS election fix from LIU Xin - update dis_record of
adjacencies when isisd becomes DIS.
Diffstat (limited to 'isisd/isis_dr.c')
-rw-r--r--isisd/isis_dr.c11
1 files changed, 10 insertions, 1 deletions
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);
}