aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2021-12-17 15:59:29 +0000
committerMark Johnston <markj@FreeBSD.org>2021-12-17 18:09:49 +0000
commitd157f2627b238ba38d1cad36f1aa165c42ce91ee (patch)
tree166ec0cd35bc5160048b478499c8ecb30fdd044f
parentd079fc197aca951c7918276922038852167dd39f (diff)
downloadsrc-d157f2627b238ba38d1cad36f1aa165c42ce91ee.tar.gz
src-d157f2627b238ba38d1cad36f1aa165c42ce91ee.zip
unix: Increase the default datagram recv buffer size
syslog(3) was recently change to support larger messages, up to 8KB. Our syslogd handles this fine, as it adjusts /dev/log's recv buffer to a large size. rsyslog, however, uses the system default of 4KB. This leads to problems since our syslog(3) retries indefinitely when a send() returns ENOBUFS, but if the message is large enough this will never succeed. Increase the default recv buffer size for datagram sockets to support 8KB syslog messages without requiring the logging daemon to adjust its buffers. PR: 260126 Reviewed by: asomers MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33380
-rw-r--r--sys/kern/uipc_usrreq.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c
index 0ec1ba677173..ceeb4741e3f4 100644
--- a/sys/kern/uipc_usrreq.c
+++ b/sys/kern/uipc_usrreq.c
@@ -157,7 +157,7 @@ static struct task unp_defer_task;
static u_long unpst_sendspace = PIPSIZ;
static u_long unpst_recvspace = PIPSIZ;
static u_long unpdg_sendspace = 2*1024; /* really max datagram size */
-static u_long unpdg_recvspace = 4*1024;
+static u_long unpdg_recvspace = 16*1024; /* support 8KB syslog msgs */
static u_long unpsp_sendspace = PIPSIZ; /* really max datagram size */
static u_long unpsp_recvspace = PIPSIZ;