summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--proto/ospf/iface.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/proto/ospf/iface.c b/proto/ospf/iface.c
index 9258298..0d3e032 100644
--- a/proto/ospf/iface.c
+++ b/proto/ospf/iface.c
@@ -64,9 +64,13 @@ iface_chstate(struct ospf_iface *ifa, u8 state)
ifa->dr_sk=NULL;
}
}
- if((oldstate==OSPF_IS_DR)&&(state>=OSPF_IS_WAITING))
+ if(oldstate==OSPF_IS_DR)
{
- net_flush_lsa(ifa->nlsa,po,ifa->oa);
+ if(state>=OSPF_IS_WAITING)
+ {
+ net_flush_lsa(ifa->nlsa,po,ifa->oa);
+ }
+ ifa->nlsa->lsa.age=LSA_MAXAGE;
if(can_flush_lsa(ifa->oa)) flush_lsa(ifa->nlsa,ifa->oa);
ifa->nlsa=NULL;
}