aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet/in_var.h
diff options
context:
space:
mode:
authorDavid Greenman <dg@FreeBSD.org>1998-05-19 14:04:36 +0000
committerDavid Greenman <dg@FreeBSD.org>1998-05-19 14:04:36 +0000
commit1f91d8c5634363237e3b1b457dcb8e0f39918d5d (patch)
tree6b9043ad90b3a0ae40eff3b971423d291b32f1a8 /sys/netinet/in_var.h
parentd04c1186ec36d043e77d78c5d0997d3bb6ea4a7d (diff)
downloadsrc-1f91d8c5634363237e3b1b457dcb8e0f39918d5d.tar.gz
src-1f91d8c5634363237e3b1b457dcb8e0f39918d5d.zip
Added fast IP forwarding code by Matt Thomas <matt@3am-software.com> via
NetBSD, ported to FreeBSD by Pierre Beyssac <pb@fasterix.freenix.org> and minorly tweaked by me. This is a standard part of FreeBSD, but must be enabled with: "sysctl -w net.inet.ip.fastforwarding=1" ...and of course forwarding must also be enabled. This should probably be modified to use the zone allocator for speed and space efficiency. The current algorithm also appears to lose if the number of active paths exceeds IPFLOW_MAX (256), in which case it wastes lots of time trying to figure out which cache entry to drop.
Notes
Notes: svn path=/head/; revision=36192
Diffstat (limited to 'sys/netinet/in_var.h')
-rw-r--r--sys/netinet/in_var.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/netinet/in_var.h b/sys/netinet/in_var.h
index 83f5baa906ba..92549046163b 100644
--- a/sys/netinet/in_var.h
+++ b/sys/netinet/in_var.h
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)in_var.h 8.2 (Berkeley) 1/9/95
- * $Id: in_var.h,v 1.26 1997/04/27 20:01:06 wollman Exp $
+ * $Id: in_var.h,v 1.27 1997/09/07 05:26:43 bde Exp $
*/
#ifndef _NETINET_IN_VAR_H_
@@ -211,6 +211,7 @@ do { \
IN_NEXT_MULTI((step), (inm)); \
} while(0)
+struct route;
struct in_multi *in_addmulti __P((struct in_addr *, struct ifnet *));
void in_delmulti __P((struct in_multi *));
int in_control __P((struct socket *, int, caddr_t, struct ifnet *,
@@ -219,6 +220,9 @@ void in_rtqdrain __P((void));
void ip_input __P((struct mbuf *));
int in_ifadown __P((struct ifaddr *ifa));
void in_ifscrub __P((struct ifnet *, struct in_ifaddr *));
+int ipflow_fastforward __P((struct mbuf *));
+void ipflow_create __P((const struct route *, struct mbuf *));
+void ipflow_slowtimo __P((void));
#endif /* KERNEL */