In article <[EMAIL PROTECTED]>, Dinesh Nambisan <[EMAIL PROTECTED]> wrote: > Hello, > I have a situation where I'm trying to set the send and receive buffer > sizes on a socket to large values like 1 MB or so (dont ask why :-), > simple reason being we need it); and setsockopt for setting the buffer > sizes seems to fail with ENOBUFS. On looking at the code in uipc_socket.c > where it handles the SO_SNDBUF & SO_RCVBUF options, and the code in > uipc_socket2.c where it actually tries to reserve space (in sbreserve > function_, the issue seems to be a limit imposed by the code to > approx 227K or so [ sb_max(=256) * MCLBYTES / (MSIZE + MCLBYTES) ; which > works out to approx 227 K on my platform] > Was wondering if anyone could explain as to why this limit is there ?
It's probably there to prevent a hostile or broken process from consuming all of the mbufs and/or mbuf clusters. You can change the limit via the sysctl variable "kern.ipc.maxsockbuf". John -- John Polstra John D. Polstra & Co., Inc. Seattle, Washington USA "Disappointment is a good sign of basic intelligence." -- Chögyam Trungpa To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-net" in the body of the message