diff options
-rw-r--r-- | sys/kern/uipc_mbuf.c | 22 | ||||
-rw-r--r-- | sys/kern/uipc_proto.c | 12 | ||||
-rw-r--r-- | sys/kern/uipc_sockbuf.c | 19 | ||||
-rw-r--r-- | sys/kern/uipc_socket.c | 5 | ||||
-rw-r--r-- | sys/kern/uipc_socket2.c | 19 | ||||
-rw-r--r-- | sys/kern/uipc_usrreq.c | 29 |
6 files changed, 81 insertions, 25 deletions
diff --git a/sys/kern/uipc_mbuf.c b/sys/kern/uipc_mbuf.c index b816740..7032e44 100644 --- a/sys/kern/uipc_mbuf.c +++ b/sys/kern/uipc_mbuf.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)uipc_mbuf.c 8.2 (Berkeley) 1/4/94 - * $Id$ + * $Id: uipc_mbuf.c,v 1.28 1997/02/18 20:43:05 wollman Exp $ */ #include <sys/param.h> @@ -41,6 +41,7 @@ #define MBTYPES #include <sys/mbuf.h> #include <sys/kernel.h> +#include <sys/sysctl.h> #include <sys/syslog.h> #include <sys/domain.h> #include <sys/protosw.h> @@ -63,6 +64,15 @@ int max_protohdr; int max_hdr; int max_datalen; +SYSCTL_INT(_kern_ipc, KIPC_MAX_LINKHDR, max_linkhdr, CTLFLAG_RW, + &max_linkhdr, 0, ""); +SYSCTL_INT(_kern_ipc, KIPC_MAX_PROTOHDR, max_protohdr, CTLFLAG_RW, + &max_protohdr, 0, ""); +SYSCTL_INT(_kern_ipc, KIPC_MAX_HDR, max_hdr, CTLFLAG_RW, &max_hdr, 0, ""); +SYSCTL_INT(_kern_ipc, KIPC_MAX_DATALEN, max_datalen, CTLFLAG_RW, + &max_datalen, 0, ""); +SYSCTL_STRUCT(_kern_ipc, KIPC_MBSTAT, mbstat, CTLFLAG_RW, &mbstat, mbstat, ""); + static void m_reclaim __P((void)); /* "number of clusters of pages" */ @@ -78,6 +88,12 @@ mbinit(dummy) int s; mmbfree = NULL; mclfree = NULL; + mbstat.m_msize = MSIZE; + mbstat.m_mclbytes = MCLBYTES; + mbstat.m_minclsize = MINCLSIZE; + mbstat.m_mlen = MLEN; + mbstat.m_mhlen = MHLEN; + s = splimp(); if (m_mballoc(NMB_INIT, M_DONTWAIT) == 0) goto bad; @@ -385,7 +401,7 @@ m_prepend(m, len, how) * continuing for "len" bytes. If len is M_COPYALL, copy to end of mbuf. * The wait parameter is a choice of M_WAIT/M_DONTWAIT from caller. */ -static int MCFail; +#define MCFail (mbstat.m_mcfail) struct mbuf * m_copym(m, off0, len, wait) @@ -656,7 +672,7 @@ m_adj(mp, req_len) * If there is room, it will add up to max_protohdr-len extra bytes to the * contiguous region in an attempt to avoid being called next time. */ -static int MPFail; +#define MPFail (mbstat.m_mpfail) struct mbuf * m_pullup(n, len) diff --git a/sys/kern/uipc_proto.c b/sys/kern/uipc_proto.c index 35d0771..f652ce3 100644 --- a/sys/kern/uipc_proto.c +++ b/sys/kern/uipc_proto.c @@ -31,14 +31,16 @@ * SUCH DAMAGE. * * @(#)uipc_proto.c 8.1 (Berkeley) 6/10/93 - * $Id$ + * $Id: uipc_proto.c,v 1.9 1997/02/22 09:39:27 peter Exp $ */ #include <sys/param.h> -#include <sys/socket.h> -#include <sys/protosw.h> +#include <sys/kernel.h> #include <sys/domain.h> #include <sys/mbuf.h> +#include <sys/protosw.h> +#include <sys/socket.h> +#include <sys/sysctl.h> #include <sys/un.h> #include <net/raw_cb.h> @@ -68,3 +70,7 @@ static struct protosw localsw[] = { struct domain localdomain = { AF_LOCAL, "local", 0, unp_externalize, unp_dispose, localsw, &localsw[sizeof(localsw)/sizeof(localsw[0])] }; + +SYSCTL_NODE(_net, PF_LOCAL, local, CTLFLAG_RW, 0, "Local domain"); +SYSCTL_NODE(_net_local, SOCK_STREAM, stream, CTLFLAG_RW, 0, "SOCK_STREAM"); +SYSCTL_NODE(_net_local, SOCK_DGRAM, dgram, CTLFLAG_RW, 0, "SOCK_DGRAM"); diff --git a/sys/kern/uipc_sockbuf.c b/sys/kern/uipc_sockbuf.c index a99b6bb..e19db0c 100644 --- a/sys/kern/uipc_sockbuf.c +++ b/sys/kern/uipc_sockbuf.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)uipc_socket2.c 8.1 (Berkeley) 6/10/93 - * $Id$ + * $Id: uipc_socket2.c,v 1.21 1997/02/19 19:15:43 wollman Exp $ */ #include <sys/param.h> @@ -54,11 +54,8 @@ */ u_long sb_max = SB_MAX; /* XXX should be static */ -SYSCTL_INT(_kern, KERN_MAXSOCKBUF, maxsockbuf, CTLFLAG_RW, &sb_max, 0, "") static u_long sb_efficiency = 8; /* parameter for sbreserve() */ -SYSCTL_INT(_kern, OID_AUTO, sockbuf_waste_factor, CTLFLAG_RW, &sb_efficiency, - 0, ""); /* * Procedures to manipulate state flags of socket @@ -1005,3 +1002,17 @@ pru_sense_null(struct socket *so, struct stat *sb) sb->st_blksize = so->so_snd.sb_hiwat; return 0; } + +/* + * Here is the definition of some of the basic objects in the kern.ipc + * branch of the MIB. + */ +SYSCTL_NODE(_kern, KERN_IPC, ipc, CTLFLAG_RW, 0, "IPC"); + +/* This takes the place of kern.maxsockbuf, which moved to kern.ipc. */ +static int dummy; +SYSCTL_INT(_kern, KERN_DUMMY, dummy, CTLFLAG_RW, &dummy, 0, ""); + +SYSCTL_INT(_kern_ipc, KIPC_MAXSOCKBUF, maxsockbuf, CTLFLAG_RW, &sb_max, 0, "") +SYSCTL_INT(_kern_ipc, KIPC_SOCKBUF_WASTE, sockbuf_waste_factor, CTLFLAG_RW, + &sb_efficiency, 0, ""); diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index d0e680b..7fdfca8 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)uipc_socket.c 8.3 (Berkeley) 4/15/94 - * $Id$ + * $Id: uipc_socket.c,v 1.23 1997/02/22 09:39:28 peter Exp $ */ #include <sys/param.h> @@ -51,7 +51,8 @@ #include <sys/sysctl.h> static int somaxconn = SOMAXCONN; -SYSCTL_INT(_kern, KERN_SOMAXCONN, somaxconn, CTLFLAG_RW, &somaxconn, 0, ""); +SYSCTL_INT(_kern_ipc, KIPC_SOMAXCONN, somaxconn, CTLFLAG_RW, &somaxconn, + 0, ""); /* * Socket operation routines. diff --git a/sys/kern/uipc_socket2.c b/sys/kern/uipc_socket2.c index a99b6bb..e19db0c 100644 --- a/sys/kern/uipc_socket2.c +++ b/sys/kern/uipc_socket2.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)uipc_socket2.c 8.1 (Berkeley) 6/10/93 - * $Id$ + * $Id: uipc_socket2.c,v 1.21 1997/02/19 19:15:43 wollman Exp $ */ #include <sys/param.h> @@ -54,11 +54,8 @@ */ u_long sb_max = SB_MAX; /* XXX should be static */ -SYSCTL_INT(_kern, KERN_MAXSOCKBUF, maxsockbuf, CTLFLAG_RW, &sb_max, 0, "") static u_long sb_efficiency = 8; /* parameter for sbreserve() */ -SYSCTL_INT(_kern, OID_AUTO, sockbuf_waste_factor, CTLFLAG_RW, &sb_efficiency, - 0, ""); /* * Procedures to manipulate state flags of socket @@ -1005,3 +1002,17 @@ pru_sense_null(struct socket *so, struct stat *sb) sb->st_blksize = so->so_snd.sb_hiwat; return 0; } + +/* + * Here is the definition of some of the basic objects in the kern.ipc + * branch of the MIB. + */ +SYSCTL_NODE(_kern, KERN_IPC, ipc, CTLFLAG_RW, 0, "IPC"); + +/* This takes the place of kern.maxsockbuf, which moved to kern.ipc. */ +static int dummy; +SYSCTL_INT(_kern, KERN_DUMMY, dummy, CTLFLAG_RW, &dummy, 0, ""); + +SYSCTL_INT(_kern_ipc, KIPC_MAXSOCKBUF, maxsockbuf, CTLFLAG_RW, &sb_max, 0, "") +SYSCTL_INT(_kern_ipc, KIPC_SOCKBUF_WASTE, sockbuf_waste_factor, CTLFLAG_RW, + &sb_efficiency, 0, ""); diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index 91d8c50..3b668a2 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -31,26 +31,27 @@ * SUCH DAMAGE. * * From: @(#)uipc_usrreq.c 8.3 (Berkeley) 1/4/94 - * $Id$ + * $Id: uipc_usrreq.c,v 1.19 1997/02/22 09:39:29 peter Exp $ */ #include <sys/param.h> #include <sys/queue.h> #include <sys/systm.h> -#include <sys/proc.h> -#include <sys/filedesc.h> +#include <sys/kernel.h> #include <sys/domain.h> +#include <sys/file.h> +#include <sys/filedesc.h> +#include <sys/mbuf.h> +#include <sys/namei.h> +#include <sys/proc.h> #include <sys/protosw.h> -#include <sys/stat.h> #include <sys/socket.h> #include <sys/socketvar.h> -#include <sys/unpcb.h> +#include <sys/stat.h> +#include <sys/sysctl.h> #include <sys/un.h> -#include <sys/namei.h> +#include <sys/unpcb.h> #include <sys/vnode.h> -#include <sys/file.h> -#include <sys/stat.h> -#include <sys/mbuf.h> /* * Unix communications domain. @@ -358,6 +359,16 @@ static u_long unpdg_recvspace = 4*1024; static int unp_rights; /* file descriptors in flight */ +SYSCTL_INT(_net_local_stream, OID_AUTO, sendspace, CTLFLAG_RW, + &unpst_sendspace, 0, ""); +SYSCTL_INT(_net_local_stream, OID_AUTO, recvspace, CTLFLAG_RW, + &unpst_recvspace, 0, ""); +SYSCTL_INT(_net_local_dgram, OID_AUTO, maxdgram, CTLFLAG_RW, + &unpdg_sendspace, 0, ""); +SYSCTL_INT(_net_local_dgram, OID_AUTO, recvspace, CTLFLAG_RW, + &unpdg_recvspace, 0, ""); +SYSCTL_INT(_net_local, OID_AUTO, inflight, CTLFLAG_RD, &unp_rights, 0, ""); + static int unp_attach(so) struct socket *so; |