diff options
author | Jun-ichiro itojun Hagino <itojun@cvs.openbsd.org> | 2000-06-13 11:47:25 +0000 |
---|---|---|
committer | Jun-ichiro itojun Hagino <itojun@cvs.openbsd.org> | 2000-06-13 11:47:25 +0000 |
commit | 0fd81a081fafe240f76635ca10fdb4e78665700b (patch) | |
tree | 1de04d675e6ba6ca226665af6605c852ae3599fd /sys | |
parent | be21e71b1420f97ca1b80cf56d79a46261738223 (diff) |
comment out flowinfo manipulation on inbound. the spec is not very clear.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/netinet/udp_usrreq.c | 22 | ||||
-rw-r--r-- | sys/netinet6/raw_ipv6.c | 7 |
2 files changed, 14 insertions, 15 deletions
diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c index e268cf214ea..090a52b1d5f 100644 --- a/sys/netinet/udp_usrreq.c +++ b/sys/netinet/udp_usrreq.c @@ -1,4 +1,4 @@ -/* $OpenBSD: udp_usrreq.c,v 1.43 2000/06/13 10:29:44 itojun Exp $ */ +/* $OpenBSD: udp_usrreq.c,v 1.44 2000/06/13 11:47:24 itojun Exp $ */ /* $NetBSD: udp_usrreq.c,v 1.28 1996/03/16 23:54:03 christos Exp $ */ /* @@ -330,24 +330,20 @@ udp_input(m, va_alist) srcsa.sin6.sin6_len = sizeof(struct sockaddr_in6); srcsa.sin6.sin6_family = AF_INET6; srcsa.sin6.sin6_port = uh->uh_sport; +#if 0 /*XXX inbound flowinfo */ srcsa.sin6.sin6_flowinfo = htonl(0x0fffffff) & ipv6->ip6_flow; - srcsa.sin6.sin6_addr = ipv6->ip6_src; - if (IN6_IS_SCOPE_LINKLOCAL(&srcsa.sin6.sin6_addr)) - srcsa.sin6.sin6_addr.s6_addr16[1] = 0; - if (m->m_pkthdr.rcvif) { - if (IN6_IS_SCOPE_LINKLOCAL(&srcsa.sin6.sin6_addr)) { - srcsa.sin6.sin6_scope_id = - m->m_pkthdr.rcvif->if_index; - } else - srcsa.sin6.sin6_scope_id = 0; - } else - srcsa.sin6.sin6_scope_id = 0; +#endif + /* KAME hack: recover scopeid */ + (void)in6_recoverscope(&srcsa.sin6, &ipv6->ip6_src, + m->m_pkthdr.rcvif); bzero(&dstsa, sizeof(struct sockaddr_in6)); dstsa.sin6.sin6_len = sizeof(struct sockaddr_in6); dstsa.sin6.sin6_family = AF_INET6; dstsa.sin6.sin6_port = uh->uh_dport; - dstsa.sin6.sin6_addr = ipv6->ip6_dst; + /* KAME hack: recover scopeid */ + (void)in6_recoverscope(&dstsa.sin6, &ipv6->ip6_dst, + m->m_pkthdr.rcvif); break; #endif /* INET6 */ } diff --git a/sys/netinet6/raw_ipv6.c b/sys/netinet6/raw_ipv6.c index 69bc3f2a8a7..e135f0260cb 100644 --- a/sys/netinet6/raw_ipv6.c +++ b/sys/netinet6/raw_ipv6.c @@ -1,4 +1,4 @@ -/* $OpenBSD: raw_ipv6.c,v 1.17 2000/05/13 21:31:18 deraadt Exp $ */ +/* $OpenBSD: raw_ipv6.c,v 1.18 2000/06/13 11:47:23 itojun Exp $ */ /* %%% copyright-nrl-95 @@ -44,7 +44,7 @@ didn't get a copy, you may request one from <license@ipv6.nrl.navy.mil>. * SUCH DAMAGE. * * @(#)raw_ip.c 8.7 (Berkeley) 5/15/95 - * $Id: raw_ipv6.c,v 1.17 2000/05/13 21:31:18 deraadt Exp $ + * $Id: raw_ipv6.c,v 1.18 2000/06/13 11:47:23 itojun Exp $ */ #include <sys/param.h> @@ -224,6 +224,9 @@ rip6_input(mp, offp, proto) bzero(&srcsa, sizeof(struct sockaddr_in6)); srcsa.sin6_family = AF_INET6; srcsa.sin6_len = sizeof(struct sockaddr_in6); +#if 0 /*XXX inbound flowinfo */ + srcsa.sin6_flowinfo = ip6->ip6_flow & IPV6_FLOWINFO_MASK; +#endif srcsa.sin6_addr = ip6->ip6_src; if (IN6_IS_SCOPE_LINKLOCAL(&srcsa.sin6_addr)) |