summaryrefslogtreecommitdiffstats
path: root/proto/ospf/ospf.c
diff options
context:
space:
mode:
authorOndrej Filip <feela@network.cz>2000-09-04 21:42:17 +0200
committerOndrej Filip <feela@network.cz>2000-09-04 21:42:17 +0200
commitb02e40111ea8d97bf1c3bfa25970ee0d828cd7bc (patch)
tree4fafe22465b1e3b3208fe39461a2473b4daf60af /proto/ospf/ospf.c
parentfdb19982020abeddf2d9eb73efae92ae2cc58d93 (diff)
downloadbird-b02e40111ea8d97bf1c3bfa25970ee0d828cd7bc.tar
bird-b02e40111ea8d97bf1c3bfa25970ee0d828cd7bc.zip
I allocate struct ifa before unlocking. So route exported to OSPF are correct.
I work also with interfaces that have some problems with socket opening. I declare them as stub.
Diffstat (limited to 'proto/ospf/ospf.c')
-rw-r--r--proto/ospf/ospf.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/proto/ospf/ospf.c b/proto/ospf/ospf.c
index 64bfcdc..83bcc56 100644
--- a/proto/ospf/ospf.c
+++ b/proto/ospf/ospf.c
@@ -578,7 +578,10 @@ ospf_reconfigure(struct proto *p, struct proto_config *c)
"Interface %s is now stub.",
ifa->iface->name);
}
- if((ip1->stub!=0)&&(ip2->stub==0))
+ if((ip1->stub!=0)&&(ip2->stub==0)&&
+ ((ifa->ioprob & OSPF_I_IP)==0)&&
+ (((ifa->ioprob & OSPF_I_MC)==0)||
+ (ifa->type==OSPF_IT_NBMA)))
{
ifa->stub=ip2->stub;
OSPF_TRACE(D_EVENTS,