git: 52c0d52b91e3 - main - socket: Tag all socket option comments consistently

From: Warner Losh <imp_at_FreeBSD.org>
Date: Wed, 17 Jun 2026 15:05:18 UTC
The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=52c0d52b91e34f9190c9ba8fab7b6bc463bc4cbb

commit 52c0d52b91e34f9190c9ba8fab7b6bc463bc4cbb
Author:     Warner Losh <imp@FreeBSD.org>
AuthorDate: 2026-06-17 13:39:05 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-06-17 15:03:21 +0000

    socket: Tag all socket option comments consistently
    
    For all the socket options that have a fixed type, add the type of the
    socket option arg to the comment. Most of them already had this, but a
    few did not. The ones that don't have a tag use a variable length data
    structure of some kind, and are beyond the scope of this
    commit. Slightly expand the syntax to allow a comma separated list for
    those sockopts that have multiple fixed-length versions.
    
    Sponsored by:           Netflix
    Reviewed by:            pouria, peter.lei_ieee.org, tuexen
    Differential Revision:  https://reviews.freebsd.org/D57545
---
 sys/netinet/in.h   |  40 ++++-----
 sys/netinet/tcp.h  | 240 ++++++++++++++++++++++++++---------------------------
 sys/netinet/udp.h  |   2 +-
 sys/netinet6/in6.h |   8 +-
 sys/sys/socket.h   |  72 ++++++++--------
 sys/sys/un.h       |   4 +-
 6 files changed, 183 insertions(+), 183 deletions(-)

diff --git a/sys/netinet/in.h b/sys/netinet/in.h
index 0cd55bd1e409..fc30228422f3 100644
--- a/sys/netinet/in.h
+++ b/sys/netinet/in.h
@@ -444,25 +444,25 @@ VNET_DECLARE(uint32_t, in_loopback_mask);
 #define	IP_RETOPTS		8    /* ip_opts; set/get IP options */
 #define	IP_MULTICAST_IF		9    /* struct in_addr *or* struct ip_mreqn;
 				      * set/get IP multicast i/f  */
-#define	IP_MULTICAST_TTL	10   /* u_char; set/get IP multicast ttl */
-#define	IP_MULTICAST_LOOP	11   /* u_char; set/get IP multicast loopback */
+#define	IP_MULTICAST_TTL	10   /* u_char,u_int; set/get IP multicast ttl */
+#define	IP_MULTICAST_LOOP	11   /* u_char,u_int; set/get IP multicast loopback */
 #define	IP_ADD_MEMBERSHIP	12   /* ip_mreq; add an IP group membership */
 #define	IP_DROP_MEMBERSHIP	13   /* ip_mreq; drop an IP group membership */
-#define	IP_MULTICAST_VIF	14   /* set/get IP mcast virt. iface */
-#define	IP_RSVP_ON		15   /* enable RSVP in kernel */
-#define	IP_RSVP_OFF		16   /* disable RSVP in kernel */
-#define	IP_RSVP_VIF_ON		17   /* set RSVP per-vif socket */
-#define	IP_RSVP_VIF_OFF		18   /* unset RSVP per-vif socket */
+#define	IP_MULTICAST_VIF	14   /* int; set/get IP mcast virt. iface */
+#define	IP_RSVP_ON		15   /* int; enable RSVP in kernel */
+#define	IP_RSVP_OFF		16   /* int; disable RSVP in kernel */
+#define	IP_RSVP_VIF_ON		17   /* int; set RSVP per-vif socket */
+#define	IP_RSVP_VIF_OFF		18   /* int; unset RSVP per-vif socket */
 #define	IP_PORTRANGE		19   /* int; range to choose for unspec port */
 #define	IP_RECVIF		20   /* bool; receive reception if w/dgram */
 /* for IPSEC */
 #define	IP_IPSEC_POLICY		21   /* int; set/get security policy */
 				     /* unused; was IP_FAITH */
-#define	IP_ONESBCAST		23   /* bool: send all-ones broadcast */
-#define	IP_BINDANY		24   /* bool: allow bind to any address */
+#define	IP_ONESBCAST		23   /* bool; send all-ones broadcast */
+#define	IP_BINDANY		24   /* bool; allow bind to any address */
 				     /* unused; was IP_BIND_MULTI */
 				     /* unused; was IP_RSS_LISTEN_BUCKET */
-#define	IP_ORIGDSTADDR		27   /* bool: receive IP dst addr/port w/dgram */
+#define	IP_ORIGDSTADDR		27   /* bool; receive IP dst addr/port w/dgram */
 #define	IP_RECVORIGDSTADDR      IP_ORIGDSTADDR
 
 /*
@@ -497,18 +497,18 @@ VNET_DECLARE(uint32_t, in_loopback_mask);
 #define	IP_DUMMYNET_GET		64   /* get entire dummynet pipes */
 
 #define	IP_RECVTTL		65   /* bool; receive IP TTL w/dgram */
-#define	IP_MINTTL		66   /* minimum TTL for packet or drop */
-#define	IP_DONTFRAG		67   /* don't fragment packet */
+#define	IP_MINTTL		66   /* int; minimum TTL for packet or drop */
+#define	IP_DONTFRAG		67   /* int; don't fragment packet */
 #define	IP_RECVTOS		68   /* bool; receive IP TOS w/dgram */
 
 /* IPv4 Source Filter Multicast API [RFC3678] */
-#define	IP_ADD_SOURCE_MEMBERSHIP	70   /* join a source-specific group */
-#define	IP_DROP_SOURCE_MEMBERSHIP	71   /* drop a single source */
-#define	IP_BLOCK_SOURCE			72   /* block a source */
-#define	IP_UNBLOCK_SOURCE		73   /* unblock a source */
+#define	IP_ADD_SOURCE_MEMBERSHIP	70   /* ip_mreq_source; join a source-specific group */
+#define	IP_DROP_SOURCE_MEMBERSHIP	71   /* ip_mreq_source; drop a single source */
+#define	IP_BLOCK_SOURCE			72   /* ip_mreq_source; block a source */
+#define	IP_UNBLOCK_SOURCE		73   /* ip_mreq_source; unblock a source */
 
 /* The following option is private; do not use it from user applications. */
-#define	IP_MSFILTER			74   /* set/get filter list */
+#define	IP_MSFILTER			74   /* __msfilterreq; set/get filter list */
 
 /* The following option deals with the 802.1Q Ethernet Priority Code Point */
 #define	IP_VLAN_PCP		75   /* int; set/get PCP used for packet, */
@@ -523,9 +523,9 @@ VNET_DECLARE(uint32_t, in_loopback_mask);
 #define	MCAST_UNBLOCK_SOURCE		85   /* unblock a source */
 
 /* Flow and RSS definitions */
-#define	IP_FLOWID		90   /* get flow id for the given socket/inp */
-#define	IP_FLOWTYPE		91   /* get flow type (M_HASHTYPE) */
-#define	IP_RSSBUCKETID		92   /* get RSS flowid -> bucket mapping */
+#define	IP_FLOWID		90   /* int; get flow id for the given socket/inp */
+#define	IP_FLOWTYPE		91   /* int; get flow type (M_HASHTYPE) */
+#define	IP_RSSBUCKETID		92   /* int; get RSS flowid -> bucket mapping */
 #define	IP_RECVFLOWID		93   /* bool; receive IP flowid/flowtype w/ datagram */
 #define	IP_RECVRSSBUCKETID	94   /* bool; receive IP RSS bucket id w/ datagram */
 
diff --git a/sys/netinet/tcp.h b/sys/netinet/tcp.h
index cab7d1c5e726..14dc971010d8 100644
--- a/sys/netinet/tcp.h
+++ b/sys/netinet/tcp.h
@@ -180,169 +180,169 @@ __tcp_set_flags(struct tcphdr *th, uint16_t flags)
  * values and are not masked together.  Some values appear to be
  * bitmasks for historical reasons.
  */
-#define	TCP_NODELAY		1	/* don't delay send to coalesce packets */
+#define	TCP_NODELAY		1	/* int; don't delay send to coalesce packets */
 #if __BSD_VISIBLE
-#define	TCP_MAXSEG		2	/* set maximum segment size */
-#define	TCP_NOPUSH		4	/* don't push last block of write */
-#define	TCP_NOOPT		8	/* don't use TCP options */
-#define	TCP_MD5SIG		16	/* use MD5 digests (RFC2385) */
-#define	TCP_INFO		32	/* retrieve tcp_info structure */
+#define	TCP_MAXSEG		2	/* int; set maximum segment size */
+#define	TCP_NOPUSH		4	/* int; don't push last block of write */
+#define	TCP_NOOPT		8	/* int; don't use TCP options */
+#define	TCP_MD5SIG		16	/* int; use MD5 digests (RFC2385) */
+#define	TCP_INFO		32	/* struct tcp_info; retrieve tcp_info structure */
 #define	TCP_STATS		33	/* retrieve stats blob structure */
-#define	TCP_LOG			34	/* configure event logging for connection */
+#define	TCP_LOG			34	/* int; configure event logging for connection */
 #define	TCP_LOGBUF		35	/* retrieve event log for connection */
 #define	TCP_LOGID		36	/* configure log ID to correlate connections */
 #define	TCP_LOGDUMP		37	/* dump connection log events to device */
 #define	TCP_LOGDUMPID		38	/* dump events from connections with same ID to
 					   device */
 #define	TCP_TXTLS_ENABLE	39	/* TLS framing and encryption for transmit */
-#define	TCP_TXTLS_MODE		40	/* Transmit TLS mode */
+#define	TCP_TXTLS_MODE		40	/* u_int; Transmit TLS mode */
 #define	TCP_RXTLS_ENABLE	41	/* TLS framing and encryption for receive */
-#define	TCP_RXTLS_MODE		42	/* Receive TLS mode */
-#define	TCP_IWND_NB		43	/* Override initial window (units: bytes) */
-#define	TCP_IWND_NSEG		44	/* Override initial window (units: MSS segs) */
+#define	TCP_RXTLS_MODE		42	/* int; Receive TLS mode */
+#define	TCP_IWND_NB		43	/* int; Override initial window (units: bytes) */
+#define	TCP_IWND_NSEG		44	/* int; Override initial window (units: MSS segs) */
 #ifdef _KERNEL
-#define	TCP_USE_DDP		45	/* Use direct data placement for so_rcvbuf */
+#define	TCP_USE_DDP		45	/* int; Use direct data placement for so_rcvbuf */
 #endif
-#define	TCP_LOGID_CNT		46	/* get number of connections with the same ID */
+#define	TCP_LOGID_CNT		46	/* int; get number of connections with the same ID */
 #define	TCP_LOG_TAG		47	/* configure tag for grouping logs */
-#define	TCP_USER_LOG		48	/* userspace log event */
+#define	TCP_USER_LOG		48	/* int; userspace log event */
 #define	TCP_CONGESTION		64	/* get/set congestion control algorithm */
 #define	TCP_CCALGOOPT		65	/* get/set cc algorithm specific options */
-#define	TCP_MAXUNACKTIME	68	/* maximum time without making progress (sec) */
+#define	TCP_MAXUNACKTIME	68	/* u_int; maximum time without making progress (sec) */
 /* unused			69	*/
-#define	TCP_IDLE_REDUCE		70	/* Reduce cwnd on idle input */
-#define	TCP_REMOTE_UDP_ENCAPS_PORT 71	/* Enable TCP over UDP tunneling via the specified port */
-#define	TCP_DELACK		72	/* socket option for delayed ack */
-#define	TCP_FIN_IS_RST		73	/* A fin from the peer is treated has a RST */
-#define	TCP_LOG_LIMIT		74	/* Limit to number of records in tcp-log */
-#define	TCP_SHARED_CWND_ALLOWED	75	/* Use of a shared cwnd is allowed */
-#define	TCP_PROC_ACCOUNTING	76	/* Do accounting on tcp cpu usage and counts */
-#define	TCP_USE_CMP_ACKS	77	/* The transport can handle the Compressed mbuf acks */
-#define	TCP_PERF_INFO		78	/* retrieve accounting counters */
-#define	TCP_KEEPINIT		128	/* N, time to establish connection */
-#define	TCP_KEEPIDLE		256	/* L,N,X start keeplives after this period */
-#define	TCP_KEEPINTVL		512	/* L,N interval between keepalives */
-#define	TCP_KEEPCNT		1024	/* L,N number of keepalives before close */
-#define	TCP_FASTOPEN		1025	/* enable TFO / was created via TFO */
+#define	TCP_IDLE_REDUCE		70	/* int; Reduce cwnd on idle input */
+#define	TCP_REMOTE_UDP_ENCAPS_PORT 71	/* int; Enable TCP over UDP tunneling via the specified port */
+#define	TCP_DELACK		72	/* int; socket option for delayed ack */
+#define	TCP_FIN_IS_RST		73	/* int; A fin from the peer is treated has a RST */
+#define	TCP_LOG_LIMIT		74	/* int; Limit to number of records in tcp-log */
+#define	TCP_SHARED_CWND_ALLOWED	75	/* int; Use of a shared cwnd is allowed */
+#define	TCP_PROC_ACCOUNTING	76	/* int; Do accounting on tcp cpu usage and counts */
+#define	TCP_USE_CMP_ACKS	77	/* int; The transport can handle the Compressed mbuf acks */
+#define	TCP_PERF_INFO		78	/* struct tcp_perf_info; retrieve accounting counters */
+#define	TCP_KEEPINIT		128	/* u_int; N, time to establish connection */
+#define	TCP_KEEPIDLE		256	/* u_int; L,N,X start keeplives after this period */
+#define	TCP_KEEPINTVL		512	/* u_int; L,N interval between keepalives */
+#define	TCP_KEEPCNT		1024	/* u_int; L,N number of keepalives before close */
+#define	TCP_FASTOPEN		1025	/* int,struct tcp_fastopen; enable TFO / was created via TFO */
 /* unused			2048	   was TCP_PCAP_OUT */
 /* unused			4096	   was TCP_PCAP_IN */
-#define	TCP_FUNCTION_BLK	8192	/* Set the tcp function pointers to the specified stack */
-#define	TCP_FUNCTION_ALIAS	8193	/* Get the current tcp function pointer name alias */
+#define	TCP_FUNCTION_BLK	8192	/* struct tcp_function_set; Set the tcp function pointers to the specified stack */
+#define	TCP_FUNCTION_ALIAS	8193	/* struct tcp_function_set; Get the current tcp function pointer name alias */
 /* Options for Rack and BBR */
-#define	TCP_REUSPORT_LB_NUMA	1026	/* set listen socket numa domain */
-#define	TCP_RACK_MBUF_QUEUE	1050	/* Do we allow mbuf queuing if supported */
+#define	TCP_REUSPORT_LB_NUMA	1026	/* int; set listen socket numa domain */
+#define	TCP_RACK_MBUF_QUEUE	1050	/* int; Do we allow mbuf queuing if supported */
 /* unused			1051	*/
-#define	TCP_RACK_TLP_REDUCE 	1052	/* RACK TLP cwnd reduction (bool) */
+#define	TCP_RACK_TLP_REDUCE 	1052	/* int; RACK TLP cwnd reduction */
 /* unused			1053	*/
-#define	TCP_RACK_PACE_MAX_SEG	1054	/* Max TSO size we will send  */
-#define	TCP_RACK_PACE_ALWAYS	1055	/* Use the always pace method */
+#define	TCP_RACK_PACE_MAX_SEG	1054	/* int; Max TSO size we will send  */
+#define	TCP_RACK_PACE_ALWAYS	1055	/* int; Use the always pace method */
 /* unused			1056	*/
-#define	TCP_RACK_PRR_SENDALOT	1057	/* Allow PRR to send more than one seg */
-#define	TCP_RACK_MIN_TO		1058	/* Minimum time between rack t-o's in ms */
+#define	TCP_RACK_PRR_SENDALOT	1057	/* int; Allow PRR to send more than one seg */
+#define	TCP_RACK_MIN_TO		1058	/* int; Minimum time between rack t-o's in ms */
 /* unused			1059	*/
-#define	TCP_RACK_EARLY_SEG	1060	/* If early recovery max segments */
-#define	TCP_RACK_REORD_THRESH	1061	/* RACK reorder threshold (shift amount) */
-#define	TCP_RACK_REORD_FADE	1062	/* Does reordering fade after ms time */
-#define	TCP_RACK_TLP_THRESH	1063	/* RACK TLP theshold i.e. srtt+(srtt/N) */
-#define	TCP_RACK_PKT_DELAY	1064	/* RACK added ms i.e. rack-rtt + reord + N */
+#define	TCP_RACK_EARLY_SEG	1060	/* int; If early recovery max segments */
+#define	TCP_RACK_REORD_THRESH	1061	/* int; RACK reorder threshold (shift amount) */
+#define	TCP_RACK_REORD_FADE	1062	/* int; Does reordering fade after ms time */
+#define	TCP_RACK_TLP_THRESH	1063	/* int; RACK TLP theshold i.e. srtt+(srtt/N) */
+#define	TCP_RACK_PKT_DELAY	1064	/* int; RACK added ms i.e. rack-rtt + reord + N */
 /* unused			1065	*/
 /* unused			1066	*/
-#define	TCP_BBR_IWINTSO		1067	/* Initial TSO window for BBRs first sends */
+#define	TCP_BBR_IWINTSO		1067	/* int; Initial TSO window for BBRs first sends */
 /* unused			1068	*/
-#define	TCP_BBR_STARTUP_PG	1069	/* Startup pacing gain */
-#define	TCP_BBR_DRAIN_PG	1070	/* Drain pacing gain */
+#define	TCP_BBR_STARTUP_PG	1069	/* int; Startup pacing gain */
+#define	TCP_BBR_DRAIN_PG	1070	/* int; Drain pacing gain */
 /* unused			1071	*/
-#define	TCP_BBR_PROBE_RTT_INT	1072	/* How long in useconds between probe-rtt */
+#define	TCP_BBR_PROBE_RTT_INT	1072	/* int; How long in useconds between probe-rtt */
 /* unused			1073	*/
-#define	TCP_BBR_STARTUP_LOSS_EXIT 1074	/* Do we exit a loss during startup if not 20% incr */
+#define	TCP_BBR_STARTUP_LOSS_EXIT 1074	/* int; Do we exit a loss during startup if not 20% incr */
 /* unused			1075	*/
-#define	TCP_BBR_TSLIMITS	1076	/* Do we use experimental Timestamp limiting for our algo */
-#define	TCP_BBR_PACE_OH		1077	/* pacing overhead setting */
+#define	TCP_BBR_TSLIMITS	1076	/* int; Do we use experimental Timestamp limiting for our algo */
+#define	TCP_BBR_PACE_OH		1077	/* int; pacing overhead setting */
 /* unused			1078	*/
-#define	TCP_BBR_USEDEL_RATE	1079	/* Enable use of delivery rate for loss recovery */
-#define	TCP_BBR_MIN_RTO		1080	/* Min RTO in milliseconds */
-#define	TCP_BBR_MAX_RTO		1081	/* Max RTO in milliseconds */
+#define	TCP_BBR_USEDEL_RATE	1079	/* int; Enable use of delivery rate for loss recovery */
+#define	TCP_BBR_MIN_RTO		1080	/* int; Min RTO in milliseconds */
+#define	TCP_BBR_MAX_RTO		1081	/* int; Max RTO in milliseconds */
 /* unused			1082	*/
-#define	TCP_BBR_ALGORITHM	1083	/* What measurement algo does BBR use netflix=0, google=1 */
+#define	TCP_BBR_ALGORITHM	1083	/* int; What measurement algo does BBR use netflix=0, google=1 */
 /* unused			1084	*/
 /* unused			1085	*/
-#define	TCP_BBR_PACE_PER_SEC	1086
-#define	TCP_BBR_PACE_DEL_TAR	1087
-#define	TCP_BBR_PACE_SEG_MAX	1088
-#define	TCP_BBR_PACE_SEG_MIN	1089
-#define	TCP_BBR_PACE_CROSS	1090
+#define	TCP_BBR_PACE_PER_SEC	1086	/* int; */
+#define	TCP_BBR_PACE_DEL_TAR	1087	/* int; */
+#define	TCP_BBR_PACE_SEG_MAX	1088	/* int; */
+#define	TCP_BBR_PACE_SEG_MIN	1089	/* int; */
+#define	TCP_BBR_PACE_CROSS	1090	/* int; */
 /* unused			1091	*/
 /* unused			1092	*/
 /* unused			1093	*/
 /* unused			1094	*/
-#define	TCP_RACK_TLP_USE	1095
-#define	TCP_BBR_TMR_PACE_OH	1096	/* ??? */
-#define	TCP_RACK_DO_DETECTION	1097	/* Recycle of extra gain for rack, attack detection */
-#define	TCP_BBR_RACK_RTT_USE	1098	/* what RTT should we use 0, 1, or 2? */
-#define	TCP_BBR_RETRAN_WTSO	1099
-#define	TCP_DATA_AFTER_CLOSE	1100
-#define	TCP_BBR_PROBE_RTT_GAIN	1101
-#define	TCP_BBR_PROBE_RTT_LEN	1102
-#define	TCP_BBR_SEND_IWND_IN_TSO 1103	/* Do we burst out whole iwin size chunks at start? */
-#define	TCP_BBR_USE_RACK_RR	1104	/* Do we use the rack rapid recovery for pacing rxt's */
+#define	TCP_RACK_TLP_USE	1095	/* int; */
+#define	TCP_BBR_TMR_PACE_OH	1096	/* int; */
+#define	TCP_RACK_DO_DETECTION	1097	/* int; Recycle of extra gain for rack, attack detection */
+#define	TCP_BBR_RACK_RTT_USE	1098	/* int; what RTT should we use 0, 1, or 2? */
+#define	TCP_BBR_RETRAN_WTSO	1099	/* int; */
+#define	TCP_DATA_AFTER_CLOSE	1100	/* int; */
+#define	TCP_BBR_PROBE_RTT_GAIN	1101	/* int; */
+#define	TCP_BBR_PROBE_RTT_LEN	1102	/* int; */
+#define	TCP_BBR_SEND_IWND_IN_TSO 1103	/* int; Do we burst out whole iwin size chunks at start? */
+#define	TCP_BBR_USE_RACK_RR	1104	/* int; Do we use the rack rapid recovery for pacing rxt's */
 #define	TCP_BBR_USE_RACK_CHEAT 	TCP_BBR_USE_RACK_RR /* Compat. */
-#define	TCP_BBR_HDWR_PACE	1105	/* Enable/disable hardware pacing */
-#define	TCP_BBR_UTTER_MAX_TSO	1106	/* Do we enforce an utter max TSO size */
-#define	TCP_BBR_EXTRA_STATE	1107	/* Special exit-persist catch up */
-#define	TCP_BBR_FLOOR_MIN_TSO	1108	/* The min tso size */
-#define	TCP_BBR_MIN_TOPACEOUT	1109	/* Do we suspend pacing until */
-#define	TCP_BBR_TSTMP_RAISES	1110	/* Can a timestamp measurement raise the b/w */
-#define	TCP_BBR_POLICER_DETECT	1111	/* Turn on/off google mode policer detection */
-#define	TCP_BBR_RACK_INIT_RATE	1112	/* Set an initial pacing rate for when we have no b/w in kbits per sec */
-#define	TCP_RACK_RR_CONF	1113	/* Rack rapid recovery configuration control*/
-#define	TCP_RACK_GP_INCREASE_CA	1114	/* GP increase for Congestion Avoidance */
-#define	TCP_RACK_GP_INCREASE_SS	1115	/* GP increase for Slow Start */
-#define	TCP_RACK_GP_INCREASE_REC 1116	/* GP increase for Recovery */
-#define	TCP_RACK_FORCE_MSEG	1117	/* Override to use the user set max-seg value */
-#define	TCP_RACK_PACE_RATE_CA	1118	/* Pacing rate for Congestion Avoidance */
-#define	TCP_RACK_PACE_RATE_SS	1119	/* Pacing rate for Slow Start */
-#define	TCP_RACK_PACE_RATE_REC	1120	/* Pacing rate for Recovery */
-#define	TCP_NO_PRR		1122	/* If pacing, don't use prr  */
-#define	TCP_RACK_NONRXT_CFG_RATE 1123	/* In recovery does a non-rxt use the cfg rate */
-#define	TCP_SHARED_CWND_ENABLE	1124	/* Use a shared cwnd if allowed */
-#define	TCP_TIMELY_DYN_ADJ	1125	/* Do we attempt dynamic multipler adjustment with timely. */
-#define	TCP_RACK_NO_PUSH_AT_MAX	1126	/* For timely do not push if we are over max rtt */
-#define	TCP_RACK_PACE_TO_FILL	1127	/* If we are not in recovery, always pace to fill the cwnd in 1 RTT */
-#define	TCP_SHARED_CWND_TIME_LIMIT 1128	/* we should limit to low time values the scwnd life */
-#define	TCP_RACK_PROFILE	1129	/* Select a profile that sets multiple options */
-#define	TCP_HDWR_RATE_CAP	1130	/* Allow hardware rates to cap pacing rate */
-#define	TCP_PACING_RATE_CAP	1131	/* Highest rate allowed in pacing in bytes per second (uint64_t) */
-#define	TCP_HDWR_UP_ONLY	1132	/* Allow the pacing rate to climb but not descend (with the exception of fill-cw */
-#define	TCP_RACK_ABC_VAL	1133	/* Set a local ABC value different then the system default */
-#define	TCP_REC_ABC_VAL		1134	/* Do we use the ABC value for recovery or the override one from sysctl  */
-#define	TCP_RACK_MEASURE_CNT	1135	/* How many measurements are required in GP pacing */
-#define	TCP_DEFER_OPTIONS	1136	/* Defer options until the proper number of measurements occur, does not defer TCP_RACK_MEASURE_CNT */
+#define	TCP_BBR_HDWR_PACE	1105	/* int; Enable/disable hardware pacing */
+#define	TCP_BBR_UTTER_MAX_TSO	1106	/* int; Do we enforce an utter max TSO size */
+#define	TCP_BBR_EXTRA_STATE	1107	/* int; Special exit-persist catch up */
+#define	TCP_BBR_FLOOR_MIN_TSO	1108	/* int; The min tso size */
+#define	TCP_BBR_MIN_TOPACEOUT	1109	/* int; Do we suspend pacing until */
+#define	TCP_BBR_TSTMP_RAISES	1110	/* int; Can a timestamp measurement raise the b/w */
+#define	TCP_BBR_POLICER_DETECT	1111	/* int; Turn on/off google mode policer detection */
+#define	TCP_BBR_RACK_INIT_RATE	1112	/* int; Set an initial pacing rate for when we have no b/w in kbits per sec */
+#define	TCP_RACK_RR_CONF	1113	/* int; Rack rapid recovery configuration control*/
+#define	TCP_RACK_GP_INCREASE_CA	1114	/* int; GP increase for Congestion Avoidance */
+#define	TCP_RACK_GP_INCREASE_SS	1115	/* int; GP increase for Slow Start */
+#define	TCP_RACK_GP_INCREASE_REC 1116	/* int; GP increase for Recovery */
+#define	TCP_RACK_FORCE_MSEG	1117	/* int; Override to use the user set max-seg value */
+#define	TCP_RACK_PACE_RATE_CA	1118	/* int; Pacing rate for Congestion Avoidance */
+#define	TCP_RACK_PACE_RATE_SS	1119	/* int; Pacing rate for Slow Start */
+#define	TCP_RACK_PACE_RATE_REC	1120	/* int; Pacing rate for Recovery */
+#define	TCP_NO_PRR		1122	/* int; If pacing, don't use prr  */
+#define	TCP_RACK_NONRXT_CFG_RATE 1123	/* int; In recovery does a non-rxt use the cfg rate */
+#define	TCP_SHARED_CWND_ENABLE	1124	/* int; Use a shared cwnd if allowed */
+#define	TCP_TIMELY_DYN_ADJ	1125	/* int; Do we attempt dynamic multipler adjustment with timely. */
+#define	TCP_RACK_NO_PUSH_AT_MAX	1126	/* int; For timely do not push if we are over max rtt */
+#define	TCP_RACK_PACE_TO_FILL	1127	/* int; If we are not in recovery, always pace to fill the cwnd in 1 RTT */
+#define	TCP_SHARED_CWND_TIME_LIMIT 1128	/* int; we should limit to low time values the scwnd life */
+#define	TCP_RACK_PROFILE	1129	/* int; Select a profile that sets multiple options */
+#define	TCP_HDWR_RATE_CAP	1130	/* int; Allow hardware rates to cap pacing rate */
+#define	TCP_PACING_RATE_CAP	1131	/* uint64_t; Highest rate allowed in pacing in bytes per second */
+#define	TCP_HDWR_UP_ONLY	1132	/* int; Allow the pacing rate to climb but not descend (with the exception of fill-cw */
+#define	TCP_RACK_ABC_VAL	1133	/* int; Set a local ABC value different then the system default */
+#define	TCP_REC_ABC_VAL		1134	/* int; Do we use the ABC value for recovery or the override one from sysctl  */
+#define	TCP_RACK_MEASURE_CNT	1135	/* int; How many measurements are required in GP pacing */
+#define	TCP_DEFER_OPTIONS	1136	/* int; Defer options until the proper number of measurements occur, does not defer TCP_RACK_MEASURE_CNT */
 /* unused			1137	*/
-#define	TCP_RACK_PACING_BETA	1138	/* Changing the beta for pacing */
-#define	TCP_RACK_PACING_BETA_ECN 1139	/* Changing the beta for ecn with pacing */
-#define	TCP_RACK_TIMER_SLOP	1140	/* Set or get the timer slop used */
-#define	TCP_RACK_DSACK_OPT	1141	/* How do we setup rack timer DSACK options bit 1/2 */
-#define	TCP_RACK_ENABLE_HYSTART	1142	/* Do we allow hystart in the CC modules */
-#define	TCP_RACK_SET_RXT_OPTIONS 1143	/* Set the bits in the retransmit options */
-#define	TCP_RACK_HI_BETA	1144	/* Turn on/off high beta */
-#define	TCP_RACK_SPLIT_LIMIT	1145	/* Set a split limit for split allocations */
-#define	TCP_RACK_PACING_DIVISOR	1146	/* Pacing divisor given to rate-limit code for burst sizing */
-#define	TCP_RACK_PACE_MIN_SEG	1147	/* Pacing min seg size rack will use */
-#define	TCP_RACK_DGP_IN_REC	1148	/* Do we use full DGP in recovery? */
+#define	TCP_RACK_PACING_BETA	1138	/* int; Changing the beta for pacing */
+#define	TCP_RACK_PACING_BETA_ECN 1139	/* int; Changing the beta for ecn with pacing */
+#define	TCP_RACK_TIMER_SLOP	1140	/* int; Set or get the timer slop used */
+#define	TCP_RACK_DSACK_OPT	1141	/* int; How do we setup rack timer DSACK options bit 1/2 */
+#define	TCP_RACK_ENABLE_HYSTART	1142	/* int; Do we allow hystart in the CC modules */
+#define	TCP_RACK_SET_RXT_OPTIONS 1143	/* int; Set the bits in the retransmit options */
+#define	TCP_RACK_HI_BETA	1144	/* int; Turn on/off high beta */
+#define	TCP_RACK_SPLIT_LIMIT	1145	/* int; Set a split limit for split allocations */
+#define	TCP_RACK_PACING_DIVISOR	1146	/* int; Pacing divisor given to rate-limit code for burst sizing */
+#define	TCP_RACK_PACE_MIN_SEG	1147	/* int; Pacing min seg size rack will use */
+#define	TCP_RACK_DGP_IN_REC	1148	/* int; Do we use full DGP in recovery? */
 /* unused			1149	*/
 #define	TCP_HYBRID_PACING	1150	/* Hybrid pacing enablement */
-#define	TCP_PACING_DND		1151	/* When pacing with rr_config=3 can sacks disturb us */
-#define	TCP_SS_EEXIT		1152	/* Do we do early exit from slowtart if no  b/w growth */
-#define	TCP_DGP_UPPER_BOUNDS	1153	/* SS and CA upper bound in percentage */
-#define	TCP_NO_TIMELY		1154	/* Disable/enable Timely */
-#define	TCP_HONOR_HPTS_MIN	1155	/* Do we honor hpts min to */
-#define	TCP_REC_IS_DYN		1156	/* Do we allow timely to change recovery multiplier? */
-#define	TCP_SIDECHAN_DIS	1157	/* Disable/enable the side-channel */
-#define	TCP_FILLCW_RATE_CAP	1158	/* Set a cap for DGP's fillcw */
+#define	TCP_PACING_DND		1151	/* int; When pacing with rr_config=3 can sacks disturb us */
+#define	TCP_SS_EEXIT		1152	/* int; Do we do early exit from slowtart if no  b/w growth */
+#define	TCP_DGP_UPPER_BOUNDS	1153	/* int; SS and CA upper bound in percentage */
+#define	TCP_NO_TIMELY		1154	/* int; Disable/enable Timely */
+#define	TCP_HONOR_HPTS_MIN	1155	/* int; Do we honor hpts min to */
+#define	TCP_REC_IS_DYN		1156	/* int; Do we allow timely to change recovery multiplier? */
+#define	TCP_SIDECHAN_DIS	1157	/* int; Disable/enable the side-channel */
+#define	TCP_FILLCW_RATE_CAP	1158	/* int; Set a cap for DGP's fillcw */
 /* unused			1159	*/
 #define	TCP_STACK_SPEC_INFO	1160	/* Get stack specific information (if present) */
 #define	RACK_CSPR_IS_FCC	1161
-#define	TCP_GP_USE_LTBW		1162	/* how we use lt_bw 0=not, 1=min, 2=max */
+#define	TCP_GP_USE_LTBW		1162	/* int; how we use lt_bw 0=not, 1=min, 2=max */
 
 
 /* Start of reserved space for third-party user-settable options. */
diff --git a/sys/netinet/udp.h b/sys/netinet/udp.h
index 010f2210b516..448f7b68ae3f 100644
--- a/sys/netinet/udp.h
+++ b/sys/netinet/udp.h
@@ -49,7 +49,7 @@ struct udphdr {
 /*
  * User-settable options (used with setsockopt).
  */
-#define	UDP_ENCAP			1
+#define	UDP_ENCAP			1	/* int; UDP encapsulation type */
 
 /* Start of reserved space for third-party user-settable options. */
 #define	UDP_VENDOR			SO_VENDOR
diff --git a/sys/netinet6/in6.h b/sys/netinet6/in6.h
index 1206960357da..168bb927fb57 100644
--- a/sys/netinet6/in6.h
+++ b/sys/netinet6/in6.h
@@ -407,7 +407,7 @@ struct route_in6 {
 #define IPV6_SOCKOPT_RESERVED1	3  /* reserved for future use */
 #define IPV6_UNICAST_HOPS	4  /* int; IP6 hops */
 #define IPV6_MULTICAST_IF	9  /* u_int; set/get IP6 multicast i/f  */
-#define IPV6_MULTICAST_HOPS	10 /* int; set/get IP6 multicast hops */
+#define IPV6_MULTICAST_HOPS	10 /* u_int; set/get IP6 multicast hops */
 #define IPV6_MULTICAST_LOOP	11 /* u_int; set/get IP6 multicast loopback */
 #define IPV6_JOIN_GROUP		12 /* ipv6_mreq; join a group membership */
 #define IPV6_LEAVE_GROUP	13 /* ipv6_mreq; leave a group membership */
@@ -430,7 +430,7 @@ struct route_in6 {
 #define IPV6_BINDV6ONLY		IPV6_V6ONLY
 #endif
 
-#define IPV6_IPSEC_POLICY	28 /* struct; get/set security policy */
+#define IPV6_IPSEC_POLICY	28 /* struct sadb_x_policy; get/set security policy */
 				   /* 29; unused; was IPV6_FAITH */
 #if 1 /* IPV6FIREWALL */
 #define IPV6_FW_ADD		30 /* add a firewall rule to chain */
@@ -485,7 +485,7 @@ struct route_in6 {
 				    * the source address.
 				    */
 
-#define	IPV6_BINDANY		64 /* bool: allow bind to any address */
+#define	IPV6_BINDANY		64 /* bool; allow bind to any address */
 				   /* unused; was IPV6_BIND_MULTI */
 				   /* unused; was IPV6_RSS_LISTEN_BUCKET */
 #define	IPV6_FLOWID		67 /* int; flowid of given socket */
@@ -494,7 +494,7 @@ struct route_in6 {
 #define	IPV6_RECVFLOWID		70 /* bool; receive IP6 flowid/flowtype w/ datagram */
 #define	IPV6_RECVRSSBUCKETID	71 /* bool; receive IP6 RSS bucket id w/ datagram */
 
-#define	IPV6_ORIGDSTADDR	72 /* bool: allow getting dstaddr /port info */
+#define	IPV6_ORIGDSTADDR	72 /* bool; allow getting dstaddr /port info */
 #define	IPV6_RECVORIGDSTADDR	IPV6_ORIGDSTADDR
 
 /*
diff --git a/sys/sys/socket.h b/sys/sys/socket.h
index 25b6fce75b94..8477e122520a 100644
--- a/sys/sys/socket.h
+++ b/sys/sys/socket.h
@@ -125,55 +125,55 @@ typedef	__uintptr_t	uintptr_t;
 /*
  * Option flags per-socket.
  */
-#define	SO_DEBUG	0x00000001	/* turn on debugging info recording */
-#define	SO_ACCEPTCONN	0x00000002	/* socket has had listen() */
-#define	SO_REUSEADDR	0x00000004	/* allow local address reuse */
-#define	SO_KEEPALIVE	0x00000008	/* keep connections alive */
-#define	SO_DONTROUTE	0x00000010	/* just use interface addresses */
-#define	SO_BROADCAST	0x00000020	/* permit sending of broadcast msgs */
+#define	SO_DEBUG	0x00000001	/* int; turn on debugging info recording */
+#define	SO_ACCEPTCONN	0x00000002	/* int; socket has had listen() */
+#define	SO_REUSEADDR	0x00000004	/* int; allow local address reuse */
+#define	SO_KEEPALIVE	0x00000008	/* int; keep connections alive */
+#define	SO_DONTROUTE	0x00000010	/* int; just use interface addresses */
+#define	SO_BROADCAST	0x00000020	/* int; permit sending of broadcast msgs */
 #if __BSD_VISIBLE
-#define	SO_USELOOPBACK	0x00000040	/* bypass hardware when possible */
+#define	SO_USELOOPBACK	0x00000040	/* int; bypass hardware when possible */
 #endif
-#define	SO_LINGER	0x00000080	/* linger on close if data present */
-#define	SO_OOBINLINE	0x00000100	/* leave received OOB data in line */
+#define	SO_LINGER	0x00000080	/* struct linger; linger on close if data present */
+#define	SO_OOBINLINE	0x00000100	/* int; leave received OOB data in line */
 #if __BSD_VISIBLE
-#define	SO_REUSEPORT	0x00000200	/* allow local address & port reuse */
-#define	SO_TIMESTAMP	0x00000400	/* timestamp received dgram traffic */
-#define	SO_NOSIGPIPE	0x00000800	/* no SIGPIPE from EPIPE */
-#define	SO_ACCEPTFILTER	0x00001000	/* there is an accept filter */
-#define	SO_BINTIME	0x00002000	/* timestamp received dgram traffic */
+#define	SO_REUSEPORT	0x00000200	/* int; allow local address & port reuse */
+#define	SO_TIMESTAMP	0x00000400	/* int; timestamp received dgram traffic */
+#define	SO_NOSIGPIPE	0x00000800	/* int; no SIGPIPE from EPIPE */
+#define	SO_ACCEPTFILTER	0x00001000	/* struct accept_filter_arg; accept filter */
+#define	SO_BINTIME	0x00002000	/* int; timestamp received dgram traffic */
 #endif
-#define	SO_NO_OFFLOAD	0x00004000	/* socket cannot be offloaded */
-#define	SO_NO_DDP	0x00008000	/* disable direct data placement */
-#define	SO_REUSEPORT_LB	0x00010000	/* reuse with load balancing */
-#define	SO_RERROR	0x00020000	/* keep track of receive errors */
+#define	SO_NO_OFFLOAD	0x00004000	/* int; socket cannot be offloaded */
+#define	SO_NO_DDP	0x00008000	/* int; disable direct data placement */
+#define	SO_REUSEPORT_LB	0x00010000	/* int; reuse with load balancing */
+#define	SO_RERROR	0x00020000	/* int; keep track of receive errors */
 
 /*
  * Additional options, not kept in so_options.
  */
-#define	SO_SNDBUF	0x1001		/* send buffer size */
-#define	SO_RCVBUF	0x1002		/* receive buffer size */
-#define	SO_SNDLOWAT	0x1003		/* send low-water mark */
-#define	SO_RCVLOWAT	0x1004		/* receive low-water mark */
-#define	SO_SNDTIMEO	0x1005		/* send timeout */
-#define	SO_RCVTIMEO	0x1006		/* receive timeout */
-#define	SO_ERROR	0x1007		/* get error status and clear */
-#define	SO_TYPE		0x1008		/* get socket type */
+#define	SO_SNDBUF	0x1001		/* int; send buffer size */
+#define	SO_RCVBUF	0x1002		/* int; receive buffer size */
+#define	SO_SNDLOWAT	0x1003		/* int; send low-water mark */
+#define	SO_RCVLOWAT	0x1004		/* int; receive low-water mark */
+#define	SO_SNDTIMEO	0x1005		/* struct timeval; send timeout */
+#define	SO_RCVTIMEO	0x1006		/* struct timeval; receive timeout */
+#define	SO_ERROR	0x1007		/* int; get error status and clear */
+#define	SO_TYPE		0x1008		/* int; get socket type */
 #if __BSD_VISIBLE
 #define	SO_LABEL	0x1009		/* socket's MAC label */
 #define	SO_PEERLABEL	0x1010		/* socket's peer's MAC label */
-#define	SO_LISTENQLIMIT	0x1011		/* socket's backlog limit */
-#define	SO_LISTENQLEN	0x1012		/* socket's complete queue length */
-#define	SO_LISTENINCQLEN	0x1013	/* socket's incomplete queue length */
-#define	SO_FIB		0x1014		/* get or set socket FIB */
+#define	SO_LISTENQLIMIT	0x1011		/* int; socket's backlog limit */
+#define	SO_LISTENQLEN	0x1012		/* int; socket's complete queue length */
+#define	SO_LISTENINCQLEN	0x1013	/* int; socket's incomplete queue length */
+#define	SO_FIB		0x1014		/* int; get or set socket FIB */
 #define	SO_SETFIB	SO_FIB		/* backward compat alias */
-#define	SO_USER_COOKIE	0x1015		/* user cookie (dummynet etc.) */
-#define	SO_PROTOCOL	0x1016		/* get socket protocol (Linux name) */
+#define	SO_USER_COOKIE	0x1015		/* uint32_t; user cookie (dummynet etc.) */
+#define	SO_PROTOCOL	0x1016		/* int; get socket protocol (Linux name) */
 #define	SO_PROTOTYPE	SO_PROTOCOL	/* alias for SO_PROTOCOL (SunOS name) */
-#define	SO_TS_CLOCK	0x1017		/* clock type used for SO_TIMESTAMP */
-#define	SO_MAX_PACING_RATE	0x1018	/* socket's max TX pacing rate (Linux name) */
-#define	SO_DOMAIN	0x1019		/* get socket domain */
-#define	SO_SPLICE	0x1023		/* splice data to other socket */
+#define	SO_TS_CLOCK	0x1017		/* int; clock type used for SO_TIMESTAMP */
+#define	SO_MAX_PACING_RATE	0x1018	/* uint32_t; socket's max TX pacing rate (Linux name) */
+#define	SO_DOMAIN	0x1019		/* int; get socket domain */
+#define	SO_SPLICE	0x1023		/* struct splice; splice data to other socket */
 #endif
 
 #if __BSD_VISIBLE
diff --git a/sys/sys/un.h b/sys/sys/un.h
index 41bde1701900..10ba6a51b2d8 100644
--- a/sys/sys/un.h
+++ b/sys/sys/un.h
@@ -63,8 +63,8 @@ struct sockaddr_un {
 
 /* Socket options. */
 #define	LOCAL_PEERCRED		1	/* retrieve peer credentials */
-#define	LOCAL_CREDS		2	/* pass credentials to receiver */
-#define	LOCAL_CREDS_PERSISTENT	3	/* pass credentials to receiver */
+#define	LOCAL_CREDS		2	/* int; pass credentials to receiver */
+#define	LOCAL_CREDS_PERSISTENT	3	/* int; pass credentials to receiver */
 
 /* Start of reserved space for third-party socket options. */
 #define	LOCAL_VENDOR		SO_VENDOR