Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Sep 2005 11:31:28 GMT
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 83828 for review
Message-ID:  <200509181131.j8IBVSvj023973@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=83828

Change 83828 by rwatson@rwatson_peppercorn on 2005/09/18 11:31:27

	Add new socket option SO_QLIMIT, which allows querying and setting of
	the socket connection queue limit.

Affected files ...

.. //depot/projects/netsmp/src/sys/kern/uipc_socket.c#7 edit
.. //depot/projects/netsmp/src/sys/sys/socket.h#2 edit

Differences ...

==== //depot/projects/netsmp/src/sys/kern/uipc_socket.c#7 (text+ko) ====

@@ -1676,6 +1676,7 @@
 				break;
 			}
 			break;
+
 		case SO_LABEL:
 #ifdef MAC
 			error = sooptcopyin(sopt, &extmac, sizeof extmac,
@@ -1688,6 +1689,18 @@
 			error = EOPNOTSUPP;
 #endif
 			break;
+
+		case SO_QLIMIT:
+			error = sooptcopyin(sopt, &optval, sizeof optval,
+					    sizeof optval);
+			if (error)
+				goto bad;
+
+			if (optval < 0 || optval > somaxconn)
+				optval = somaxconn;
+			so->so_qlimit = optval;
+			break;
+
 		default:
 			error = ENOPROTOOPT;
 			break;
@@ -1816,6 +1829,7 @@
 			tv.tv_usec = (optval % hz) * tick;
 			error = sooptcopyout(sopt, &tv, sizeof tv);
 			break;
+
 		case SO_LABEL:
 #ifdef MAC
 			error = sooptcopyin(sopt, &extmac, sizeof(extmac),
@@ -1831,6 +1845,7 @@
 			error = EOPNOTSUPP;
 #endif
 			break;
+
 		case SO_PEERLABEL:
 #ifdef MAC
 			error = sooptcopyin(sopt, &extmac, sizeof(extmac),
@@ -1846,6 +1861,11 @@
 			error = EOPNOTSUPP;
 #endif
 			break;
+
+		case SO_QLIMIT:
+			optval = so->so_qlimit;
+			goto integer;
+
 		default:
 			error = ENOPROTOOPT;
 			break;

==== //depot/projects/netsmp/src/sys/sys/socket.h#2 (text+ko) ====

@@ -133,6 +133,7 @@
 #if __BSD_VISIBLE
 #define	SO_LABEL	0x1009		/* socket's MAC label */
 #define	SO_PEERLABEL	0x1010		/* socket's peer's MAC label */
+#define	SO_QLIMIT	0x1011		/* socket's backlog limit */
 #endif
 
 /*



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200509181131.j8IBVSvj023973>