diff options
author | Jun-ichiro itojun Hagino <itojun@cvs.openbsd.org> | 2002-01-08 02:29:04 +0000 |
---|---|---|
committer | Jun-ichiro itojun Hagino <itojun@cvs.openbsd.org> | 2002-01-08 02:29:04 +0000 |
commit | ae7f8029dd03b033609552fb9fa86df62a4d01ef (patch) | |
tree | 99f1ea76254b3da29b05c5babdd98032a523ad69 /sys | |
parent | 6e19d7fefd59aff47f308f67f12be0fb00726924 (diff) |
correct behavior of IPv4 over IPv6 tunnel (using gif).
http://archives.neohapsis.com/archives/openbsd/2001-09/0165.html
From: Alexander Yurchenko <grange@rt.mipt.ru>
Diffstat (limited to 'sys')
-rw-r--r-- | sys/netinet6/in6_proto.c | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/sys/netinet6/in6_proto.c b/sys/netinet6/in6_proto.c index 0d1bd59567c..5d46a0e2aff 100644 --- a/sys/netinet6/in6_proto.c +++ b/sys/netinet6/in6_proto.c @@ -1,4 +1,4 @@ -/* $OpenBSD: in6_proto.c,v 1.31 2001/08/08 15:09:00 jjbg Exp $ */ +/* $OpenBSD: in6_proto.c,v 1.32 2002/01/08 02:29:03 itojun Exp $ */ /* $KAME: in6_proto.c,v 1.66 2000/10/10 15:35:47 itojun Exp $ */ /* @@ -184,35 +184,35 @@ struct ip6protosw inet6sw[] = { #endif /* IPSEC */ #if NGIF > 0 { SOCK_RAW, &inet6domain, IPPROTO_IPV6, PR_ATOMIC|PR_ADDR, - in6_gif_input,0, 0, 0, - 0, + in6_gif_input, rip6_output, 0, rip6_ctloutput, + rip6_usrreq, /* XXX */ 0, 0, 0, 0, }, #ifdef INET -{ SOCK_RAW, &inet6domain, IPPROTO_IPV6, PR_ATOMIC|PR_ADDR, - in6_gif_input,0, 0, 0, - 0, +{ SOCK_RAW, &inet6domain, IPPROTO_IPV4, PR_ATOMIC|PR_ADDR, + in6_gif_input, rip6_output, 0, rip6_ctloutput, + rip6_usrreq, /* XXX */ 0, 0, 0, 0, }, #endif /* INET */ #else /* NGIF */ -{ SOCK_RAW, &inet6domain, IPPROTO_IPV6, PR_ATOMIC|PR_ADDR, - ip4_input6, rip6_output, 0, rip6_ctloutput, - rip6_usrreq, /* XXX */ - 0, 0, 0, 0, ipip_sysctl +{ SOCK_RAW, &inet6domain, IPPROTO_IPV6, PR_ATOMIC|PR_ADDR, + ip4_input6, rip6_output, 0, rip6_ctloutput, + rip6_usrreq, /* XXX */ + 0, 0, 0, 0, ipip_sysctl }, #ifdef INET -{ SOCK_RAW, &inet6domain, IPPROTO_IPV4, PR_ATOMIC|PR_ADDR, - ip4_input6, rip6_output, 0, rip6_ctloutput, - 0, - 0, 0, 0, 0, +{ SOCK_RAW, &inet6domain, IPPROTO_IPV4, PR_ATOMIC|PR_ADDR, + ip4_input6, rip6_output, 0, rip6_ctloutput, + rip6_usrreq, /* XXX */ + 0, 0, 0, 0, }, #endif /* INET */ #endif /* GIF */ -{ SOCK_RAW, &inet6domain, IPPROTO_PIM, PR_ATOMIC|PR_ADDR, - pim6_input, rip6_output, 0, rip6_ctloutput, +{ SOCK_RAW, &inet6domain, IPPROTO_PIM, PR_ATOMIC|PR_ADDR, + pim6_input, rip6_output, 0, rip6_ctloutput, rip6_usrreq, - 0, 0, 0, 0, + 0, 0, 0, 0, }, /* raw wildcard */ { SOCK_RAW, &inet6domain, 0, PR_ATOMIC|PR_ADDR, |