svn commit: r194076 - in head/sys: net netinet
Bjoern A. Zeeb
bz at FreeBSD.org
Fri Jun 12 20:46:37 UTC 2009
Author: bz
Date: Fri Jun 12 20:46:36 2009
New Revision: 194076
URL: http://svn.freebsd.org/changeset/base/194076
Log:
Move the kernel option FLOWTABLE chacking from the header file to the
actual implementation.
Remove the accessor functions for the compiled out case, just returning
"unavail" values. Remove the kernel conditional from the header file as
it is no longer needed, only leaving the externs.
Hide the improperly virtualized SYSCTL/TUNABLE for the flowtable size
under the kernel option as well.
Reviewed by: rwatson
Modified:
head/sys/net/flowtable.h
head/sys/netinet/ip_input.c
head/sys/netinet/ip_output.c
Modified: head/sys/net/flowtable.h
==============================================================================
--- head/sys/net/flowtable.h Fri Jun 12 20:41:44 2009 (r194075)
+++ head/sys/net/flowtable.h Fri Jun 12 20:46:36 2009 (r194076)
@@ -41,7 +41,6 @@ struct flowtable;
extern struct flowtable *ip_ft;
extern struct flowtable *ip_forward_ft;
-#ifdef FLOWTABLE
struct flowtable *flowtable_alloc(int nentry, int flags);
/*
@@ -52,22 +51,6 @@ struct flowtable *flowtable_alloc(int ne
int flowtable_lookup(struct flowtable *ft, struct mbuf *m,
struct route *ro);
-#else
-static __inline struct flowtable *
-flowtable_alloc(int nentry, int flags)
-{
-
- return (NULL);
-}
-
-static __inline int
-flowtable_lookup(struct flowtable *ft, struct mbuf *m,
- struct route *ro)
-{
-
- return (ENOTSUP);
-}
-#endif
#endif
#endif
Modified: head/sys/netinet/ip_input.c
==============================================================================
--- head/sys/netinet/ip_input.c Fri Jun 12 20:41:44 2009 (r194075)
+++ head/sys/netinet/ip_input.c Fri Jun 12 20:46:36 2009 (r194076)
@@ -206,16 +206,19 @@ SYSCTL_INT(_net_inet_ip, IPCTL_DEFMTU, m
SYSCTL_V_INT(V_NET, vnet_inet, _net_inet_ip, OID_AUTO, stealth, CTLFLAG_RW,
ipstealth, 0, "IP stealth mode, no TTL decrementation on forwarding");
#endif
+#ifdef FLOWTABLE
static int ip_output_flowtable_size = 2048;
TUNABLE_INT("net.inet.ip.output_flowtable_size", &ip_output_flowtable_size);
SYSCTL_V_INT(V_NET, vnet_inet, _net_inet_ip, OID_AUTO, output_flowtable_size,
CTLFLAG_RDTUN, ip_output_flowtable_size, 2048,
"number of entries in the per-cpu output flow caches");
+struct flowtable *ip_ft;
+#endif
+
#ifdef VIMAGE_GLOBALS
int fw_one_pass;
#endif
-struct flowtable *ip_ft;
static void ip_freef(struct ipqhead *, struct ipq *);
@@ -374,7 +377,9 @@ ip_init(void)
/* Initialize various other remaining things. */
IPQ_LOCK_INIT();
netisr_register(&ip_nh);
+#ifdef FLOWTABLE
ip_ft = flowtable_alloc(ip_output_flowtable_size, FL_PCPU);
+#endif
}
void
Modified: head/sys/netinet/ip_output.c
==============================================================================
--- head/sys/netinet/ip_output.c Fri Jun 12 20:41:44 2009 (r194075)
+++ head/sys/netinet/ip_output.c Fri Jun 12 20:46:36 2009 (r194076)
@@ -155,6 +155,7 @@ ip_output(struct mbuf *m, struct mbuf *o
ro = &iproute;
bzero(ro, sizeof (*ro));
+#ifdef FLOWTABLE
/*
* The flow table returns route entries valid for up to 30
* seconds; we rely on the remainder of ip_output() taking no
@@ -163,6 +164,7 @@ ip_output(struct mbuf *m, struct mbuf *o
*/
if (flowtable_lookup(ip_ft, m, ro) == 0)
nortfree = 1;
+#endif
}
if (opt) {
More information about the svn-src-head
mailing list