version 1.75.2.5, 2001/11/14 19:17:59 |
version 1.93.4.1, 2004/03/31 20:09:25 |
Line 139 int udpcksum = 1; |
|
Line 139 int udpcksum = 1; |
|
int udpcksum = 0; /* XXX */ |
int udpcksum = 0; /* XXX */ |
#endif |
#endif |
|
|
|
struct inpcbtable udbtable; |
|
struct udpstat udpstat; |
|
|
#ifdef INET |
#ifdef INET |
static void udp4_sendup __P((struct mbuf *, int, struct sockaddr *, |
static void udp4_sendup __P((struct mbuf *, int, struct sockaddr *, |
struct socket *)); |
struct socket *)); |
Line 442 udp6_input(mp, offp, proto) |
|
Line 445 udp6_input(mp, offp, proto) |
|
/* |
/* |
* Checksum extended UDP header and data. |
* Checksum extended UDP header and data. |
*/ |
*/ |
if (uh->uh_sum == 0) |
if (uh->uh_sum == 0) { |
udp6stat.udp6s_nosum++; |
udp6stat.udp6s_nosum++; |
else if (in6_cksum(m, IPPROTO_UDP, off, ulen) != 0) { |
goto bad; |
|
} else if (in6_cksum(m, IPPROTO_UDP, off, ulen) != 0) { |
udp6stat.udp6s_badsum++; |
udp6stat.udp6s_badsum++; |
goto bad; |
goto bad; |
} |
} |
Line 630 udp4_realinput(src, dst, m, off) |
|
Line 634 udp4_realinput(src, dst, m, off) |
|
*/ |
*/ |
|
|
/* |
/* |
* KAME note: usually we drop udpiphdr from mbuf here. |
* KAME note: traditionally we dropped udpiphdr from mbuf here. |
* we need udpiphdr for IPsec processing so we do that later. |
* we need udpiphdr for IPsec processing so we do that later. |
*/ |
*/ |
/* |
/* |
Line 736 udp6_realinput(af, src, dst, m, off) |
|
Line 740 udp6_realinput(af, src, dst, m, off) |
|
*/ |
*/ |
|
|
/* |
/* |
* KAME note: usually we drop udpiphdr from mbuf here. |
* KAME note: traditionally we dropped udpiphdr from mbuf here. |
* we need udpiphdr for IPsec processing so we do that later. |
* we need udpiphdr for IPsec processing so we do that later. |
*/ |
*/ |
/* |
/* |
Line 749 udp6_realinput(af, src, dst, m, off) |
|
Line 753 udp6_realinput(af, src, dst, m, off) |
|
if (!IN6_IS_ADDR_UNSPECIFIED(&in6p->in6p_laddr)) { |
if (!IN6_IS_ADDR_UNSPECIFIED(&in6p->in6p_laddr)) { |
if (!IN6_ARE_ADDR_EQUAL(&in6p->in6p_laddr, &dst6)) |
if (!IN6_ARE_ADDR_EQUAL(&in6p->in6p_laddr, &dst6)) |
continue; |
continue; |
} |
} else { |
else { |
|
if (IN6_IS_ADDR_V4MAPPED(&dst6) && |
if (IN6_IS_ADDR_V4MAPPED(&dst6) && |
(in6p->in6p_flags & IN6P_IPV6_V6ONLY)) |
(in6p->in6p_flags & IN6P_IPV6_V6ONLY)) |
continue; |
continue; |
Line 759 udp6_realinput(af, src, dst, m, off) |
|
Line 762 udp6_realinput(af, src, dst, m, off) |
|
if (!IN6_ARE_ADDR_EQUAL(&in6p->in6p_faddr, |
if (!IN6_ARE_ADDR_EQUAL(&in6p->in6p_faddr, |
&src6) || in6p->in6p_fport != sport) |
&src6) || in6p->in6p_fport != sport) |
continue; |
continue; |
} |
} else { |
else { |
|
if (IN6_IS_ADDR_V4MAPPED(&src6) && |
if (IN6_IS_ADDR_V4MAPPED(&src6) && |
(in6p->in6p_flags & IN6P_IPV6_V6ONLY)) |
(in6p->in6p_flags & IN6P_IPV6_V6ONLY)) |
continue; |
continue; |