diff options
author | brooks <brooks@FreeBSD.org> | 2001-07-02 21:02:09 +0000 |
---|---|---|
committer | brooks <brooks@FreeBSD.org> | 2001-07-02 21:02:09 +0000 |
commit | e7b9bc714f516674681231706c48e6aaa41c1d52 (patch) | |
tree | c356b4fb3bb3f0b8afdc188117e65b43ba086e89 /sys/netinet | |
parent | 1e69f4eb2364d7e5da7ca1d7cb99c3e77599e36d (diff) | |
download | FreeBSD-src-e7b9bc714f516674681231706c48e6aaa41c1d52.zip FreeBSD-src-e7b9bc714f516674681231706c48e6aaa41c1d52.tar.gz |
gif(4) and stf(4) modernization:
- Remove gif dependencies from stf.
- Make gif and stf into modules
- Make gif cloneable.
PR: kern/27983
Reviewed by: ru, ume
Obtained from: NetBSD
MFC after: 1 week
Diffstat (limited to 'sys/netinet')
-rw-r--r-- | sys/netinet/in_gif.c | 24 | ||||
-rw-r--r-- | sys/netinet/in_gif.h | 2 | ||||
-rw-r--r-- | sys/netinet/in_proto.c | 30 |
3 files changed, 4 insertions, 52 deletions
diff --git a/sys/netinet/in_gif.c b/sys/netinet/in_gif.c index 5ad92e1..f010bbf 100644 --- a/sys/netinet/in_gif.c +++ b/sys/netinet/in_gif.c @@ -67,17 +67,9 @@ #include <net/if_gif.h> -#include "gif.h" - -#include <machine/stdarg.h> - #include <net/net_osdep.h> -#if NGIF > 0 int ip_gif_ttl = GIF_TTL; -#else -int ip_gif_ttl = 0; -#endif SYSCTL_INT(_net_inet_ip, IPCTL_GIF_TTL, gifttl, CTLFLAG_RW, &ip_gif_ttl, 0, ""); @@ -210,26 +202,16 @@ in_gif_output(ifp, family, m, rt) } void -#if __STDC__ -in_gif_input(struct mbuf *m, ...) -#else -in_gif_input(m, va_alist) +in_gif_input(m, off, proto) struct mbuf *m; - va_dcl -#endif + int off; + int proto; { - int off, proto; struct ifnet *gifp = NULL; struct ip *ip; - va_list ap; int af; u_int8_t otos; - va_start(ap, m); - off = va_arg(ap, int); - proto = va_arg(ap, int); - va_end(ap); - ip = mtod(m, struct ip *); gifp = (struct ifnet *)encap_getarg(m); diff --git a/sys/netinet/in_gif.h b/sys/netinet/in_gif.h index de03c6e..99e6cd6 100644 --- a/sys/netinet/in_gif.h +++ b/sys/netinet/in_gif.h @@ -37,7 +37,7 @@ extern int ip_gif_ttl; -void in_gif_input __P((struct mbuf *, ...)); +void in_gif_input __P((struct mbuf *, int off, int proto)); int in_gif_output __P((struct ifnet *, int, struct mbuf *, struct rtentry *)); int gif_encapcheck4 __P((const struct mbuf *, int, int, void *)); diff --git a/sys/netinet/in_proto.c b/sys/netinet/in_proto.c index 4c07a04..8e19332 100644 --- a/sys/netinet/in_proto.c +++ b/sys/netinet/in_proto.c @@ -78,16 +78,6 @@ #include <netinet6/ipcomp.h> #endif /* IPSEC */ -#include "gif.h" -#if NGIF > 0 -#include <netinet/in_gif.h> -#endif - -#include "stf.h" -#if NSTF > 0 -#include <net/if_stf.h> -#endif - #ifdef IPXIP #include <netipx/ipx_ip.h> #endif @@ -213,26 +203,6 @@ struct ipprotosw inetsw[] = { }, }; -#if NGIF > 0 -struct ipprotosw in_gif_protosw = -{ SOCK_RAW, &inetdomain, 0/*IPPROTO_IPV[46]*/, PR_ATOMIC|PR_ADDR, - in_gif_input, rip_output, 0, rip_ctloutput, - 0, - 0, 0, 0, 0, - &rip_usrreqs -}; -#endif /*NGIF*/ - -#if NSTF > 0 -struct ipprotosw in_stf_protosw = -{ SOCK_RAW, &inetdomain, IPPROTO_IPV6, PR_ATOMIC|PR_ADDR, - in_stf_input, rip_output, 0, rip_ctloutput, - 0, - 0, 0, 0, 0, - &rip_usrreqs -}; -#endif /*NSTF*/ - extern int in_inithead __P((void **, int)); struct domain inetdomain = |