summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2010-06-02 22:25:39 +0200
committerOndrej Zajicek <santiago@crfreenet.org>2010-06-02 22:25:39 +0200
commit824de84d48eff6cbd0c550309fbd0bbf7740cb14 (patch)
tree8fb1865d982e86adb5aa630e64e221a111897ea8
parentacb60628f53ba1fc29d1a554683acdb03f961c6f (diff)
downloadbird-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.c10
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;