Date: Sat, 12 Dec 2009 15:49:28 +0000 (UTC) From: Luigi Rizzo <luigi@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r200439 - head/sys/net Message-ID: <200912121549.nBCFnS99056881@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: luigi Date: Sat Dec 12 15:49:28 2009 New Revision: 200439 URL: http://svn.freebsd.org/changeset/base/200439 Log: Make the code buildable in userland so it is easier to test it: this requires a small reordering of headers and a few #defines to map functions not available in userland. Remove a useless #ifndef block at the beginning of the file. Introduce (temporarily) rn_init2(), see the comment in the code for the proper long term change. No ABI or functional change. MFC after: 7 days Modified: head/sys/net/radix.c Modified: head/sys/net/radix.c ============================================================================== --- head/sys/net/radix.c Sat Dec 12 14:44:04 2009 (r200438) +++ head/sys/net/radix.c Sat Dec 12 15:49:28 2009 (r200439) @@ -33,7 +33,6 @@ /* * Routines to build and maintain radix trees for routing lookups. */ -#ifndef _RADIX_H_ #include <sys/param.h> #ifdef _KERNEL #include <sys/lock.h> @@ -42,19 +41,21 @@ #include <sys/systm.h> #include <sys/malloc.h> #include <sys/domain.h> -#else -#include <stdlib.h> -#endif #include <sys/syslog.h> #include <net/radix.h> -#endif - #include "opt_mpath.h" - #ifdef RADIX_MPATH #include <net/radix_mpath.h> #endif - +#else /* !_KERNEL */ +#include <stdio.h> +#include <strings.h> +#include <stdlib.h> +#define log(x, arg...) fprintf(stderr, ## arg) +#define panic(x) fprintf(stderr, "PANIC: %s", x), exit(1) +#define min(a, b) ((a) < (b) ? (a) : (b) ) +#include <net/radix.h> +#endif /* !_KERNEL */ static int rn_walktree_from(struct radix_node_head *h, void *a, void *m, walktree_f_t *f, void *w); @@ -1188,3 +1189,19 @@ rn_init() if (rn_inithead((void **)(void *)&mask_rnhead, 0) == 0) panic("rn_init 2"); } + +#ifndef _KERNEL +/* + * A simple function to make the code usable from userland. + * A proper fix (maybe later) would be to change rn_init() so that it + * takes maxkeylen as an argument, and move the scan of + * domains into net/route.c::route_init(). + */ +void rn_init2(int maxk); +void +rn_init2(int maxk) +{ + max_keylen = maxk; + rn_init(); +} +#endif /* !_KERNEL */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200912121549.nBCFnS99056881>