diff options
author | andre <andre@FreeBSD.org> | 2003-11-14 21:02:22 +0000 |
---|---|---|
committer | andre <andre@FreeBSD.org> | 2003-11-14 21:02:22 +0000 |
commit | de48630dfbd4851b73c7b9665f35c4b6dda706f6 (patch) | |
tree | 3e1327d0236ae8452ddd76bd0e5f5426c1bcfd14 /sys/netinet/ip_output.c | |
parent | 53640e68942991cce3c7f1ab31ac16ec0de5c1d5 (diff) | |
download | FreeBSD-src-de48630dfbd4851b73c7b9665f35c4b6dda706f6.zip FreeBSD-src-de48630dfbd4851b73c7b9665f35c4b6dda706f6.tar.gz |
Introduce ip_fastforward and remove ip_flow.
Short description of ip_fastforward:
o adds full direct process-to-completion IPv4 forwarding code
o handles ip fragmentation incl. hw support (ip_flow did not)
o sends icmp needfrag to source if DF is set (ip_flow did not)
o supports ipfw and ipfilter (ip_flow did not)
o supports divert, ipfw fwd and ipfilter nat (ip_flow did not)
o returns anything it can't handle back to normal ip_input
Enable with sysctl -w net.inet.ip.fastforwarding=1
Reviewed by: sam (mentor)
Diffstat (limited to 'sys/netinet/ip_output.c')
-rw-r--r-- | sys/netinet/ip_output.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c index a4125d5..fb4bff7 100644 --- a/sys/netinet/ip_output.c +++ b/sys/netinet/ip_output.c @@ -920,6 +920,7 @@ spd_done: tag.mh_flags = PACKET_TAG_IPFORWARD; tag.mh_data = (caddr_t)args.next_hop; tag.mh_next = m; + tag.mh_nextpkt = NULL; if (m->m_pkthdr.rcvif == NULL) m->m_pkthdr.rcvif = ifunit("lo0"); |