PERFORCE change 83828 for review
Robert Watson
rwatson at FreeBSD.org
Sun Sep 18 04:31:31 PDT 2005
http://perforce.freebsd.org/chv.cgi?CH=83828
Change 83828 by rwatson at 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
/*
More information about the p4-projects
mailing list