diff options
author | shin <shin@FreeBSD.org> | 1999-12-22 19:13:38 +0000 |
---|---|---|
committer | shin <shin@FreeBSD.org> | 1999-12-22 19:13:38 +0000 |
commit | 50ba589c666f7d356304339b9cfc7fc9d173ad8d (patch) | |
tree | 46d6ae7c9680a93ce1c3a13378cef283df9f6544 /sys/netinet/ip_mroute.c | |
parent | e396740391e7e60805bda6799ac3397d1fc8c539 (diff) | |
download | FreeBSD-src-50ba589c666f7d356304339b9cfc7fc9d173ad8d.zip FreeBSD-src-50ba589c666f7d356304339b9cfc7fc9d173ad8d.tar.gz |
IPSEC support in the kernel.
pr_input() routines prototype is also changed to support IPSEC and IPV6
chained protocol headers.
Reviewed by: freebsd-arch, cvs-committers
Obtained from: KAME project
Diffstat (limited to 'sys/netinet/ip_mroute.c')
-rw-r--r-- | sys/netinet/ip_mroute.c | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/sys/netinet/ip_mroute.c b/sys/netinet/ip_mroute.c index 20aa381..378102d 100644 --- a/sys/netinet/ip_mroute.c +++ b/sys/netinet/ip_mroute.c @@ -117,9 +117,10 @@ _mrt_ioctl(int req, caddr_t data, struct proc *p) int (*mrt_ioctl)(int, caddr_t, struct proc *) = _mrt_ioctl; void -rsvp_input(m, iphlen) /* XXX must fixup manually */ +rsvp_input(m, off, proto) /* XXX must fixup manually */ struct mbuf *m; - int iphlen; + int off; + int proto; { /* Can still get packets with rsvp_on = 0 if there is a local member * of the group to which the RSVP packet is addressed. But in this @@ -133,15 +134,15 @@ rsvp_input(m, iphlen) /* XXX must fixup manually */ if (ip_rsvpd != NULL) { if (rsvpdebug) printf("rsvp_input: Sending packet up old-style socket\n"); - rip_input(m, iphlen); + rip_input(m, off, proto); return; } /* Drop the packet */ m_freem(m); } -void ipip_input(struct mbuf *m, int iphlen) { /* XXX must fixup manually */ - rip_input(m, iphlen); +void ipip_input(struct mbuf *m, int off, int proto) { /* XXX must fixup manually */ + rip_input(m, off, proto); } int (*legal_vif_num)(int) = 0; @@ -1609,12 +1610,13 @@ encap_send(ip, vifp, m) */ void #ifdef MROUTE_LKM -X_ipip_input(m, iphlen) +X_ipip_input(m, off, proto) #else -ipip_input(m, iphlen) +ipip_input(m, off, proto) #endif register struct mbuf *m; - int iphlen; + int off; + int proto; { struct ifnet *ifp = m->m_pkthdr.rcvif; register struct ip *ip = mtod(m, struct ip *); @@ -1624,7 +1626,7 @@ ipip_input(m, iphlen) register struct vif *vifp; if (!have_encap_tunnel) { - rip_input(m, iphlen); + rip_input(m, off, proto); return; } /* @@ -2119,9 +2121,10 @@ ip_rsvp_force_done(so) } void -rsvp_input(m, iphlen) +rsvp_input(m, off, proto) struct mbuf *m; - int iphlen; + int off; + int proto; { int vifi; register struct ip *ip = mtod(m, struct ip *); @@ -2147,7 +2150,7 @@ rsvp_input(m, iphlen) if (ip_rsvpd != NULL) { if (rsvpdebug) printf("rsvp_input: Sending packet up old-style socket\n"); - rip_input(m, iphlen); + rip_input(m, off, proto); /* xxx */ return; } |