diff options
author | Ondrej Zajicek <santiago@crfreenet.org> | 2010-06-02 22:25:39 +0200 |
---|---|---|
committer | Ondrej Zajicek <santiago@crfreenet.org> | 2010-06-02 22:25:39 +0200 |
commit | 824de84d48eff6cbd0c550309fbd0bbf7740cb14 (patch) | |
tree | 8fb1865d982e86adb5aa630e64e221a111897ea8 | |
parent | acb60628f53ba1fc29d1a554683acdb03f961c6f (diff) | |
download | bird-824de84d48eff6cbd0c550309fbd0bbf7740cb14.tar bird-824de84d48eff6cbd0c550309fbd0bbf7740cb14.zip |
Do not start with huge OSPF FIBs.
Most OSPF instances don't need 64k FIB fields. This change halves
resident memory usage on small OSPF networks.
-rw-r--r-- | proto/ospf/ospf.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/proto/ospf/ospf.c b/proto/ospf/ospf.c index aa22d61..316d729 100644 --- a/proto/ospf/ospf.c +++ b/proto/ospf/ospf.c @@ -126,7 +126,7 @@ add_area_nets(struct ospf_area *oa, struct ospf_area_config *ac) struct area_net_config *anet; struct area_net *antmp; - fib_init(&oa->net_fib, p->pool, sizeof(struct area_net), 16, ospf_area_initfib); + fib_init(&oa->net_fib, p->pool, sizeof(struct area_net), 0, ospf_area_initfib); WALK_LIST(anet, ac->net_list) { @@ -159,7 +159,7 @@ ospf_start(struct proto *p) po->lsab = mb_alloc(p->pool, po->lsab_size); init_list(&(po->iface_list)); init_list(&(po->area_list)); - fib_init(&po->rtf, p->pool, sizeof(ort), 16, ospf_rt_initort); + fib_init(&po->rtf, p->pool, sizeof(ort), 0, ospf_rt_initort); po->areano = 0; po->gr = ospf_top_new(p->pool); s_init_list(&(po->lsal)); @@ -180,7 +180,7 @@ ospf_start(struct proto *p) oa->rt = NULL; oa->po = po; add_area_nets(oa, ac); - fib_init(&oa->rtr, p->pool, sizeof(ort), 16, ospf_rt_initort); + fib_init(&oa->rtr, p->pool, sizeof(ort), 0, ospf_rt_initort); if (oa->areaid == 0) { @@ -209,8 +209,8 @@ ospf_start(struct proto *p) oa->areaid = 0; oa->rt = NULL; oa->po = po; - fib_init(&oa->net_fib, p->pool, sizeof(struct area_net), 16, ospf_area_initfib); - fib_init(&oa->rtr, p->pool, sizeof(ort), 16, ospf_rt_initort); + fib_init(&oa->net_fib, p->pool, sizeof(struct area_net), 0, ospf_area_initfib); + fib_init(&oa->rtr, p->pool, sizeof(ort), 0, ospf_rt_initort); po->backbone = oa; #ifdef OSPFv2 oa->options = OPT_E; |