summaryrefslogtreecommitdiffstats
path: root/sys/net
diff options
context:
space:
mode:
Diffstat (limited to 'sys/net')
-rw-r--r--sys/net/route.c18
-rw-r--r--sys/net/route.h21
2 files changed, 18 insertions, 21 deletions
diff --git a/sys/net/route.c b/sys/net/route.c
index c48a4ac..e69ce48 100644
--- a/sys/net/route.c
+++ b/sys/net/route.c
@@ -68,6 +68,24 @@
#include <vm/uma.h>
+/* We use 4 bits in the mbuf flags, thus we are limited to 16 FIBS. */
+#define RT_MAXFIBS 16
+
+/* Kernel config default option. */
+#ifdef ROUTETABLES
+#if ROUTETABLES <= 0
+#error "ROUTETABLES defined too low"
+#endif
+#if ROUTETABLES > RT_MAXFIBS
+#error "ROUTETABLES defined too big"
+#endif
+#define RT_NUMFIBS ROUTETABLES
+#endif /* ROUTETABLES */
+/* Initialize to default if not otherwise set. */
+#ifndef RT_NUMFIBS
+#define RT_NUMFIBS 1
+#endif
+
u_int rt_numfibs = RT_NUMFIBS;
SYSCTL_UINT(_net, OID_AUTO, fibs, CTLFLAG_RD, &rt_numfibs, 0, "");
/*
diff --git a/sys/net/route.h b/sys/net/route.h
index a400deb..1de222a 100644
--- a/sys/net/route.h
+++ b/sys/net/route.h
@@ -90,27 +90,6 @@ struct rt_metrics {
#define RTM_RTTUNIT 1000000 /* units for rtt, rttvar, as units per sec */
#define RTTTOPRHZ(r) ((r) / (RTM_RTTUNIT / PR_SLOWHZ))
-/* MRT compile-time constants */
-#ifdef _KERNEL
- #ifndef ROUTETABLES
- #define RT_NUMFIBS 1
- #define RT_MAXFIBS 1
- #else
- /* while we use 4 bits in the mbuf flags, we are limited to 16 */
- #define RT_MAXFIBS 16
- #if ROUTETABLES > RT_MAXFIBS
- #define RT_NUMFIBS RT_MAXFIBS
- #error "ROUTETABLES defined too big"
- #else
- #if ROUTETABLES == 0
- #define RT_NUMFIBS 1
- #else
- #define RT_NUMFIBS ROUTETABLES
- #endif
- #endif
- #endif
-#endif
-
#define RT_DEFAULT_FIB 0 /* Explicitly mark fib=0 restricted cases */
extern u_int rt_numfibs; /* number fo usable routing tables */
/*
OpenPOWER on IntegriCloud