summaryrefslogtreecommitdiffstats
path: root/proto/ospf/ospf.c
diff options
context:
space:
mode:
authorOndrej Filip <feela@network.cz>2004-06-11 11:36:50 +0200
committerOndrej Filip <feela@network.cz>2004-06-11 11:36:50 +0200
commit1a61882d370e6aef99ebc11d6bbc4e9dc48c6b95 (patch)
tree13654b6d8ab69989e8b0787ec702511bb2025036 /proto/ospf/ospf.c
parentb1f7229ad7d0b10fcc1fde6645c8b8ebbb3644a6 (diff)
downloadbird-1a61882d370e6aef99ebc11d6bbc4e9dc48c6b95.tar
bird-1a61882d370e6aef99ebc11d6bbc4e9dc48c6b95.zip
Better routing table calculation. We are ready to work with
multiple OSPF areas.
Diffstat (limited to 'proto/ospf/ospf.c')
-rw-r--r--proto/ospf/ospf.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/proto/ospf/ospf.c b/proto/ospf/ospf.c
index d3067e8..aca74cb 100644
--- a/proto/ospf/ospf.c
+++ b/proto/ospf/ospf.c
@@ -95,10 +95,10 @@ ospf_start(struct proto *p)
po->disp_timer->hook = ospf_disp;
po->disp_timer->recurrent = po->tick;
tm_start(po->disp_timer, 1);
-
- fib_init(&po->efib, p->pool, sizeof(struct extfib), 16, init_efib);
init_list(&(po->iface_list));
init_list(&(po->area_list));
+ fib_init(&po->rtf[0], p->pool, sizeof(ort), 16, ospf_rt_initort);
+ fib_init(&po->rtf[1], p->pool, sizeof(ort), 16, ospf_rt_initort);
po->areano = 0;
if (EMPTY_LIST(c->area_list))
{
@@ -133,8 +133,6 @@ ospf_start(struct proto *p)
antmp->hidden = anet->hidden;
add_tail(&oa->net_list, NODE antmp);
}
- fib_init(&oa->infib, po->proto.pool, sizeof(struct infib), 16,
- init_infib);
}
return PS_UP;
}
@@ -191,6 +189,7 @@ ospf_init(struct proto_config *c)
static int
ospf_rte_better(struct rte *new, struct rte *old)
{
+ /* FIXME this is wrong */
if (new->u.ospf.metric1 == LSINFINITY)
return 0;