summaryrefslogtreecommitdiffstats
path: root/proto/ospf/iface.c
diff options
context:
space:
mode:
authorOndrej Filip <feela@network.cz>2000-02-24 01:26:10 +0100
committerOndrej Filip <feela@network.cz>2000-02-24 01:26:10 +0100
commitab56f6b16fd9401565a066122be3231dccd24fb6 (patch)
tree4c48d05245a41d912511857db02f058d8371fbf6 /proto/ospf/iface.c
parentea28da044af9a35407724ba091d9a823c1cfe7e7 (diff)
downloadbird-ab56f6b16fd9401565a066122be3231dccd24fb6.tar
bird-ab56f6b16fd9401565a066122be3231dccd24fb6.zip
Area work and router LSA starts when interface goes up.
Diffstat (limited to 'proto/ospf/iface.c')
-rw-r--r--proto/ospf/iface.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/proto/ospf/iface.c b/proto/ospf/iface.c
index 0ee5e68..cd8b035 100644
--- a/proto/ospf/iface.c
+++ b/proto/ospf/iface.c
@@ -40,6 +40,7 @@ ospf_int_sm(struct ospf_iface *ifa, int event)
case ISM_UP:
if(ifa->state==OSPF_IS_DOWN)
{
+ /* Now, nothing should be adjacent */
restart_hellotim(ifa);
if((ifa->type==OSPF_IT_PTP) || (ifa->type==OSPF_IT_VLINK))
{
@@ -57,6 +58,7 @@ ospf_int_sm(struct ospf_iface *ifa, int event)
restart_waittim(ifa);
}
}
+ addifa_rtlsa(ifa);
}
break;
case ISM_BACKS:
@@ -307,6 +309,7 @@ ospf_if_notify(struct proto *p, unsigned flags, struct iface *iface)
ifa->waitint=0;
ospf_add_timers(ifa,p->pool);
add_tail(&((struct proto_ospf *)p)->iface_list, NODE ifa);
+ ifa->state=OSPF_IS_DOWN;
ospf_int_sm(ifa, ISM_UP);
}