diff options
author | luigi <luigi@FreeBSD.org> | 2009-12-14 20:12:51 +0000 |
---|---|---|
committer | luigi <luigi@FreeBSD.org> | 2009-12-14 20:12:51 +0000 |
commit | 003a092f8a52d96e983d96137cddf46e616ebf20 (patch) | |
tree | 8b0395f84d6ce444ea5d395521539c469902c2c0 /sys/net/route.c | |
parent | c84f3aa93d03a352f0d114140b37990fd329b78a (diff) | |
download | FreeBSD-src-003a092f8a52d96e983d96137cddf46e616ebf20.zip FreeBSD-src-003a092f8a52d96e983d96137cddf46e616ebf20.tar.gz |
Move the scan for max_keylen into route.c::route_init(),
and make max_keylen an argument for rn_init().
This removes an unnecessary dependency on domain.h from radix.c
MFC after: 7 days
Diffstat (limited to 'sys/net/route.c')
-rw-r--r-- | sys/net/route.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/net/route.c b/sys/net/route.c index 2087538..027772b 100644 --- a/sys/net/route.c +++ b/sys/net/route.c @@ -171,13 +171,20 @@ rt_tables_get_rnh(int table, int fam) static void route_init(void) { + struct domain *dom; + int max_keylen = 0; /* whack the tunable ints into line. */ if (rt_numfibs > RT_MAXFIBS) rt_numfibs = RT_MAXFIBS; if (rt_numfibs == 0) rt_numfibs = 1; - rn_init(); /* initialize all zeroes, all ones, mask table */ + + for (dom = domains; dom; dom = dom->dom_next) + if (dom->dom_maxrtkey > max_keylen) + max_keylen = dom->dom_maxrtkey; + + rn_init(max_keylen); /* init all zeroes, all ones, mask table */ } SYSINIT(route_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, route_init, 0); |