aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Tuexen <tuexen@fh-muenster.de>2021-05-13 12:14:30 +0200
committerMark Johnston <markjdb@gmail.com>2021-05-13 09:11:55 -0400
commitecb594cb00c42ea45216948fc5ff94f76f77b977 (patch)
treea7f5d8537a05a126dbdd9e6a65d583c05f6594c8
parentf5115ebd07ee362cdc26aac247da2f9a2e17acdc (diff)
sys/freebsd: add support for CC module socket options
-rw-r--r--sys/freebsd/socket_inet_tcp.txt20
-rw-r--r--sys/freebsd/socket_inet_tcp.txt.const2
2 files changed, 22 insertions, 0 deletions
diff --git a/sys/freebsd/socket_inet_tcp.txt b/sys/freebsd/socket_inet_tcp.txt
index 56968f354..0ffc80cdb 100644
--- a/sys/freebsd/socket_inet_tcp.txt
+++ b/sys/freebsd/socket_inet_tcp.txt
@@ -9,6 +9,7 @@ include <sys/socket.h>
include <sys/time.h>
include <netinet/in.h>
include <netinet/tcp.h>
+include <netinet/cc/cc_newreno.h>
include <opencrypto/cryptodev.h>
resource sock_tcp[sock_in]
@@ -42,6 +43,25 @@ setsockopt$inet6_tcp_TCP_CONGESTION(fd sock_tcp6, level const[IPPROTO_TCP], optn
tcp_congestion_control_alg_names = "cdg", "chd", "cubic", "dctcp", "hd", "htcp", "newreno", "vegas"
+setsockopt$inet_tcp_TCP_CCALGOOPT(fd sock_tcp, level const[IPPROTO_TCP], optname const[TCP_CCALGOOPT], optval ptr[in, cc_opts], optlen len[optval])
+setsockopt$inet6_tcp_TCP_CCALGOOPT(fd sock_tcp6, level const[IPPROTO_TCP], optname const[TCP_CCALGOOPT], optval ptr[in, cc_opts], optlen len[optval])
+
+cc_opts [
+ newreno cc_newreno_opts
+ generic cc_generic_opts
+] [varlen]
+
+cc_newreno_opts {
+ name flags[cc_newreno_opts_names, int32]
+ val int32
+}
+
+cc_newreno_opts_names = CC_NEWRENO_BETA, CC_NEWRENO_BETA_ECN
+
+cc_generic_opts {
+ val array[int8]
+}
+
setsockopt$inet_tcp_TCP_FUNCTION_BLK(fd sock_tcp, level const[IPPROTO_TCP], optname const[TCP_FUNCTION_BLK], optval ptr[in, tcp_function_set], optlen len[optval])
setsockopt$inet6_tcp_TCP_FUNCTION_BLK(fd sock_tcp6, level const[IPPROTO_TCP], optname const[TCP_FUNCTION_BLK], optval ptr[in, tcp_function_set], optlen len[optval])
diff --git a/sys/freebsd/socket_inet_tcp.txt.const b/sys/freebsd/socket_inet_tcp.txt.const
index ab0884eda..5701e9cad 100644
--- a/sys/freebsd/socket_inet_tcp.txt.const
+++ b/sys/freebsd/socket_inet_tcp.txt.const
@@ -2,6 +2,8 @@
arches = 386, amd64
AF_INET = 2
AF_INET6 = 28
+CC_NEWRENO_BETA = 1
+CC_NEWRENO_BETA_ECN = 2
CRYPTO_AES_128_NIST_GMAC = 26
CRYPTO_AES_192_NIST_GMAC = 27
CRYPTO_AES_256_NIST_GMAC = 28