diff options
author | Ondrej Filip <feela@network.cz> | 2000-05-17 01:59:38 +0200 |
---|---|---|
committer | Ondrej Filip <feela@network.cz> | 2000-05-17 01:59:38 +0200 |
commit | 18a0c0bb763d918f3a06bfeb2be2b1051a7f4629 (patch) | |
tree | 985893b7945b24a57682f585bd6cfa4efd8161c7 /proto/ospf/neighbor.c | |
parent | 8fb0c2c298fbfa133cf783a1547bc3b1c84fe466 (diff) | |
download | bird-18a0c0bb763d918f3a06bfeb2be2b1051a7f4629.tar bird-18a0c0bb763d918f3a06bfeb2be2b1051a7f4629.zip |
Downing of interface should work.
Diffstat (limited to 'proto/ospf/neighbor.c')
-rw-r--r-- | proto/ospf/neighbor.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/proto/ospf/neighbor.c b/proto/ospf/neighbor.c index 1e9ebee..199d613 100644 --- a/proto/ospf/neighbor.c +++ b/proto/ospf/neighbor.c @@ -434,6 +434,17 @@ neighbor_timer_hook(timer *timer) p=(struct proto *)(ifa->proto); debug("%s: Inactivity timer fired on interface %s for neighbor %I.\n", p->name, ifa->iface->name, n->rid); + ospf_neigh_remove(n); +} + +void +ospf_neigh_remove(struct ospf_neighbor *n) +{ + struct ospf_iface *ifa; + struct proto *p; + + ifa=n->ifa; + p=(struct proto *)(ifa->proto); neigh_chstate(n, NEIGHBOR_DOWN); tm_stop(n->inactim); rfree(n->inactim); @@ -467,5 +478,4 @@ neighbor_timer_hook(timer *timer) rem_node(NODE n); mb_free(n); debug("%s: Deleting neigbor.\n", p->name); -} - +} |