version 1.103.2.4, 2004/09/21 13:37:15 |
version 1.119, 2004/04/18 23:35:56 |
Line 117 __KERNEL_RCSID(0, "$NetBSD$"); |
|
Line 117 __KERNEL_RCSID(0, "$NetBSD$"); |
|
|
|
#ifdef FAST_IPSEC |
#ifdef FAST_IPSEC |
#include <netipsec/ipsec.h> |
#include <netipsec/ipsec.h> |
#include <netipsec/ipsec_var.h> /* XXX ipsecstat namespace */ |
|
#ifdef INET6 |
#ifdef INET6 |
#include <netipsec/ipsec6.h> |
#include <netipsec/ipsec6.h> |
#endif |
#endif |
Line 186 struct evcnt udp_swcsum = EVCNT_INITIALI |
|
Line 185 struct evcnt udp_swcsum = EVCNT_INITIALI |
|
|
|
#define UDP_CSUM_COUNTER_INCR(ev) (ev)->ev_count++ |
#define UDP_CSUM_COUNTER_INCR(ev) (ev)->ev_count++ |
|
|
EVCNT_ATTACH_STATIC(udp_hwcsum_bad); |
|
EVCNT_ATTACH_STATIC(udp_hwcsum_ok); |
|
EVCNT_ATTACH_STATIC(udp_hwcsum_data); |
|
EVCNT_ATTACH_STATIC(udp_swcsum); |
|
|
|
#else |
#else |
|
|
#define UDP_CSUM_COUNTER_INCR(ev) /* nothing */ |
#define UDP_CSUM_COUNTER_INCR(ev) /* nothing */ |
|
|
|
|
in_pcbinit(&udbtable, udbhashsize, udbhashsize); |
in_pcbinit(&udbtable, udbhashsize, udbhashsize); |
|
|
|
#ifdef UDP_CSUM_COUNTERS |
|
evcnt_attach_static(&udp_hwcsum_bad); |
|
evcnt_attach_static(&udp_hwcsum_ok); |
|
evcnt_attach_static(&udp_hwcsum_data); |
|
evcnt_attach_static(&udp_swcsum); |
|
#endif /* UDP_CSUM_COUNTERS */ |
|
|
MOWNER_ATTACH(&udp_tx_mowner); |
MOWNER_ATTACH(&udp_tx_mowner); |
MOWNER_ATTACH(&udp_rx_mowner); |
MOWNER_ATTACH(&udp_rx_mowner); |
MOWNER_ATTACH(&udp_mowner); |
MOWNER_ATTACH(&udp_mowner); |
Line 511 udp4_sendup(struct mbuf *m, int off /* o |
|
Line 512 udp4_sendup(struct mbuf *m, int off /* o |
|
m_freem(n); |
m_freem(n); |
if (opts) |
if (opts) |
m_freem(opts); |
m_freem(opts); |
so->so_rcv.sb_overflowed++; |
|
udpstat.udps_fullsock++; |
udpstat.udps_fullsock++; |
} else |
} else |
sorwakeup(so); |
sorwakeup(so); |
Line 557 udp6_sendup(struct mbuf *m, int off /* o |
|
Line 557 udp6_sendup(struct mbuf *m, int off /* o |
|
m_freem(n); |
m_freem(n); |
if (opts) |
if (opts) |
m_freem(opts); |
m_freem(opts); |
so->so_rcv.sb_overflowed++; |
|
udp6stat.udp6s_fullsock++; |
udp6stat.udp6s_fullsock++; |
} else |
} else |
sorwakeup(so); |
sorwakeup(so); |
Line 906 int udp_recvspace = 40 * (1024 + sizeof( |
|
Line 905 int udp_recvspace = 40 * (1024 + sizeof( |
|
/*ARGSUSED*/ |
/*ARGSUSED*/ |
int |
int |
udp_usrreq(struct socket *so, int req, struct mbuf *m, struct mbuf *nam, |
udp_usrreq(struct socket *so, int req, struct mbuf *m, struct mbuf *nam, |
struct mbuf *control, struct lwp *l) |
struct mbuf *control, struct proc *p) |
{ |
{ |
struct inpcb *inp; |
struct inpcb *inp; |
struct proc *p; |
|
int s; |
int s; |
int error = 0; |
int error = 0; |
|
|
p = l ? l->l_proc : NULL; |
|
if (req == PRU_CONTROL) |
if (req == PRU_CONTROL) |
return (in_control(so, (long)m, (caddr_t)nam, |
return (in_control(so, (long)m, (caddr_t)nam, |
(struct ifnet *)control, p)); |
(struct ifnet *)control, p)); |
Line 1093 SYSCTL_SETUP(sysctl_net_inet_udp_setup, |
|
Line 1090 SYSCTL_SETUP(sysctl_net_inet_udp_setup, |
|
CTL_NET, PF_INET, CTL_EOL); |
CTL_NET, PF_INET, CTL_EOL); |
sysctl_createv(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |
CTLFLAG_PERMANENT, |
CTLFLAG_PERMANENT, |
CTLTYPE_NODE, "udp", |
CTLTYPE_NODE, "udp", NULL, |
SYSCTL_DESCR("UDPv4 related settings"), |
|
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(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLTYPE_INT, "checksum", |
CTLTYPE_INT, "checksum", NULL, |
SYSCTL_DESCR("Compute UDP checksums"), |
|
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(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLTYPE_INT, "sendspace", |
CTLTYPE_INT, "sendspace", NULL, |
SYSCTL_DESCR("Default UDP send buffer size"), |
|
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(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLTYPE_INT, "recvspace", |
CTLTYPE_INT, "recvspace", NULL, |
SYSCTL_DESCR("Default UDP receive buffer size"), |
|
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, |
CTL_EOL); |
CTL_EOL); |