diff options
author | julian <julian@FreeBSD.org> | 1996-07-10 19:44:30 +0000 |
---|---|---|
committer | julian <julian@FreeBSD.org> | 1996-07-10 19:44:30 +0000 |
commit | 9277e63302140b5062d96a9394cdec2b83b2e70a (patch) | |
tree | 5affe14a214c46b4bd58b410a49350e34137ed18 /sys/netinet/in_proto.c | |
parent | 366bddd7f5f46d8b7d51ff94c668b40ccecbbc23 (diff) | |
download | FreeBSD-src-9277e63302140b5062d96a9394cdec2b83b2e70a.zip FreeBSD-src-9277e63302140b5062d96a9394cdec2b83b2e70a.tar.gz |
Adding changes to ipfw and the kernel to support ip packet diversion..
This stuff should not be too destructive if the IPDIVERT is not compiled in..
be aware that this changes the size of the ip_fw struct
so ipfw needs to be recompiled to use it.. more changes coming to clean this up.
Diffstat (limited to 'sys/netinet/in_proto.c')
-rw-r--r-- | sys/netinet/in_proto.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/sys/netinet/in_proto.c b/sys/netinet/in_proto.c index ab9591b..fef71ac 100644 --- a/sys/netinet/in_proto.c +++ b/sys/netinet/in_proto.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)in_proto.c 8.2 (Berkeley) 2/9/95 - * $Id: in_proto.c,v 1.30 1996/05/08 04:34:03 gpalmer Exp $ + * $Id: in_proto.c,v 1.31 1996/06/20 17:52:32 fenner Exp $ */ #include <sys/param.h> @@ -132,6 +132,13 @@ struct protosw inetsw[] = { rip_usrreq, 0, 0, 0, 0, }, +#ifdef IPDIVERT +{ SOCK_RAW, &inetdomain, IPPROTO_DIVERT, PR_ATOMIC|PR_ADDR, + div_input, 0, 0, ip_ctloutput, + div_usrreq, + div_init, 0, 0, 0, +}, +#endif #ifdef TPIP { SOCK_SEQPACKET,&inetdomain, IPPROTO_TP, PR_CONNREQUIRED|PR_WANTRCVD, tpip_input, 0, tpip_ctlinput, tp_ctloutput, @@ -187,4 +194,7 @@ SYSCTL_NODE(_net_inet, IPPROTO_ICMP, icmp, CTLFLAG_RW, 0, "ICMP"); SYSCTL_NODE(_net_inet, IPPROTO_UDP, udp, CTLFLAG_RW, 0, "UDP"); SYSCTL_NODE(_net_inet, IPPROTO_TCP, tcp, CTLFLAG_RW, 0, "TCP"); SYSCTL_NODE(_net_inet, IPPROTO_IGMP, igmp, CTLFLAG_RW, 0, "IGMP"); +#ifdef IPDIVERT +SYSCTL_NODE(_net_inet, IPPROTO_DIVERT, div, CTLFLAG_RW, 0, "DIVERT"); +#endif |