version 1.114, 2003/12/04 19:38:24 |
version 1.116, 2004/03/24 15:34:54 |
Line 282 udp_input(m, va_alist) |
|
Line 282 udp_input(m, va_alist) |
|
if (m->m_pkthdr.csum_flags & M_CSUM_NO_PSEUDOHDR) |
if (m->m_pkthdr.csum_flags & M_CSUM_NO_PSEUDOHDR) |
hw_csum = in_cksum_phdr(ip->ip_src.s_addr, |
hw_csum = in_cksum_phdr(ip->ip_src.s_addr, |
ip->ip_dst.s_addr, |
ip->ip_dst.s_addr, |
htonl(hw_csum + ntohs(ip->ip_len) + |
htons(hw_csum + len + IPPROTO_UDP)); |
IPPROTO_UDP)); |
|
if ((hw_csum ^ 0xffff) != 0) |
if ((hw_csum ^ 0xffff) != 0) |
goto badcsum; |
goto badcsum; |
break; |
break; |
|
|
SYSCTL_SETUP(sysctl_net_inet_udp_setup, "sysctl net.inet.udp subtree setup") |
SYSCTL_SETUP(sysctl_net_inet_udp_setup, "sysctl net.inet.udp subtree setup") |
{ |
{ |
|
|
sysctl_createv(SYSCTL_PERMANENT, |
sysctl_createv(clog, 0, NULL, NULL, |
|
CTLFLAG_PERMANENT, |
CTLTYPE_NODE, "net", NULL, |
CTLTYPE_NODE, "net", NULL, |
NULL, 0, NULL, 0, |
NULL, 0, NULL, 0, |
CTL_NET, CTL_EOL); |
CTL_NET, CTL_EOL); |
sysctl_createv(SYSCTL_PERMANENT, |
sysctl_createv(clog, 0, NULL, NULL, |
|
CTLFLAG_PERMANENT, |
CTLTYPE_NODE, "inet", NULL, |
CTLTYPE_NODE, "inet", NULL, |
NULL, 0, NULL, 0, |
NULL, 0, NULL, 0, |
CTL_NET, PF_INET, CTL_EOL); |
CTL_NET, PF_INET, CTL_EOL); |
sysctl_createv(SYSCTL_PERMANENT, |
sysctl_createv(clog, 0, NULL, NULL, |
|
CTLFLAG_PERMANENT, |
CTLTYPE_NODE, "udp", NULL, |
CTLTYPE_NODE, "udp", NULL, |
NULL, 0, NULL, 0, |
NULL, 0, NULL, 0, |
CTL_NET, PF_INET, IPPROTO_UDP, CTL_EOL); |
CTL_NET, PF_INET, IPPROTO_UDP, CTL_EOL); |
|
|
sysctl_createv(SYSCTL_PERMANENT|SYSCTL_READWRITE, |
sysctl_createv(clog, 0, NULL, NULL, |
|
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLTYPE_INT, "checksum", NULL, |
CTLTYPE_INT, "checksum", NULL, |
NULL, 0, &udpcksum, 0, |
NULL, 0, &udpcksum, 0, |
CTL_NET, PF_INET, IPPROTO_UDP, UDPCTL_CHECKSUM, |
CTL_NET, PF_INET, IPPROTO_UDP, UDPCTL_CHECKSUM, |
CTL_EOL); |
CTL_EOL); |
sysctl_createv(SYSCTL_PERMANENT|SYSCTL_READWRITE, |
sysctl_createv(clog, 0, NULL, NULL, |
|
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLTYPE_INT, "sendspace", NULL, |
CTLTYPE_INT, "sendspace", NULL, |
NULL, 0, &udp_sendspace, 0, |
NULL, 0, &udp_sendspace, 0, |
CTL_NET, PF_INET, IPPROTO_UDP, UDPCTL_SENDSPACE, |
CTL_NET, PF_INET, IPPROTO_UDP, UDPCTL_SENDSPACE, |
CTL_EOL); |
CTL_EOL); |
sysctl_createv(SYSCTL_PERMANENT|SYSCTL_READWRITE, |
sysctl_createv(clog, 0, NULL, NULL, |
|
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLTYPE_INT, "recvspace", NULL, |
CTLTYPE_INT, "recvspace", NULL, |
NULL, 0, &udp_recvspace, 0, |
NULL, 0, &udp_recvspace, 0, |
CTL_NET, PF_INET, IPPROTO_UDP, UDPCTL_RECVSPACE, |
CTL_NET, PF_INET, IPPROTO_UDP, UDPCTL_RECVSPACE, |