Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/tcp_fastopen.c
Show All 12 Lines | |||||
SYSCTL_INT(_net_inet_tcp_fastopen, OID_AUTO, acceptany, | SYSCTL_INT(_net_inet_tcp_fastopen, OID_AUTO, acceptany, | ||||
CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(tcp_fastopen_acceptany), 0, | CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(tcp_fastopen_acceptany), 0, | ||||
"Accept any non-empty cookie"); | "Accept any non-empty cookie"); | ||||
VNET_DEFINE_STATIC(unsigned int, tcp_fastopen_autokey) = 120; | VNET_DEFINE_STATIC(unsigned int, tcp_fastopen_autokey) = 120; | ||||
#define V_tcp_fastopen_autokey VNET(tcp_fastopen_autokey) | #define V_tcp_fastopen_autokey VNET(tcp_fastopen_autokey) | ||||
static int sysctl_net_inet_tcp_fastopen_autokey(SYSCTL_HANDLER_ARGS); | static int sysctl_net_inet_tcp_fastopen_autokey(SYSCTL_HANDLER_ARGS); | ||||
SYSCTL_PROC(_net_inet_tcp_fastopen, OID_AUTO, autokey, | SYSCTL_PROC(_net_inet_tcp_fastopen, OID_AUTO, autokey, | ||||
CTLFLAG_VNET | CTLTYPE_UINT | CTLFLAG_RW, NULL, 0, | CTLFLAG_VNET | CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, NULL, 0, | ||||
&sysctl_net_inet_tcp_fastopen_autokey, "IU", | &sysctl_net_inet_tcp_fastopen_autokey, "IU", | ||||
"Number of seconds between auto-generation of a new key; zero disables"); | "Number of seconds between auto-generation of a new key; zero disables"); | ||||
static int sysctl_net_inet_tcp_fastopen_ccache_bucket_limit(SYSCTL_HANDLER_ARGS); | static int sysctl_net_inet_tcp_fastopen_ccache_bucket_limit(SYSCTL_HANDLER_ARGS); | ||||
SYSCTL_PROC(_net_inet_tcp_fastopen, OID_AUTO, ccache_bucket_limit, | SYSCTL_PROC(_net_inet_tcp_fastopen, OID_AUTO, ccache_bucket_limit, | ||||
CTLFLAG_VNET | CTLTYPE_UINT | CTLFLAG_RWTUN, NULL, 0, | CTLFLAG_VNET | CTLTYPE_UINT | CTLFLAG_RWTUN | CTLFLAG_NEEDGIANT, NULL, 0, | ||||
&sysctl_net_inet_tcp_fastopen_ccache_bucket_limit, "IU", | &sysctl_net_inet_tcp_fastopen_ccache_bucket_limit, "IU", | ||||
"Max entries per bucket in client cookie cache"); | "Max entries per bucket in client cookie cache"); | ||||
VNET_DEFINE_STATIC(unsigned int, tcp_fastopen_ccache_buckets) = | VNET_DEFINE_STATIC(unsigned int, tcp_fastopen_ccache_buckets) = | ||||
TCP_FASTOPEN_CCACHE_BUCKETS_DEFAULT; | TCP_FASTOPEN_CCACHE_BUCKETS_DEFAULT; | ||||
#define V_tcp_fastopen_ccache_buckets VNET(tcp_fastopen_ccache_buckets) | #define V_tcp_fastopen_ccache_buckets VNET(tcp_fastopen_ccache_buckets) | ||||
SYSCTL_UINT(_net_inet_tcp_fastopen, OID_AUTO, ccache_buckets, | SYSCTL_UINT(_net_inet_tcp_fastopen, OID_AUTO, ccache_buckets, | ||||
CTLFLAG_VNET | CTLFLAG_RDTUN, &VNET_NAME(tcp_fastopen_ccache_buckets), 0, | CTLFLAG_VNET | CTLFLAG_RDTUN, &VNET_NAME(tcp_fastopen_ccache_buckets), 0, | ||||
"Client cookie cache number of buckets (power of 2)"); | "Client cookie cache number of buckets (power of 2)"); | ||||
VNET_DEFINE(unsigned int, tcp_fastopen_client_enable) = 1; | VNET_DEFINE(unsigned int, tcp_fastopen_client_enable) = 1; | ||||
static int sysctl_net_inet_tcp_fastopen_client_enable(SYSCTL_HANDLER_ARGS); | static int sysctl_net_inet_tcp_fastopen_client_enable(SYSCTL_HANDLER_ARGS); | ||||
SYSCTL_PROC(_net_inet_tcp_fastopen, OID_AUTO, client_enable, | SYSCTL_PROC(_net_inet_tcp_fastopen, OID_AUTO, client_enable, | ||||
CTLFLAG_VNET | CTLTYPE_UINT | CTLFLAG_RW, NULL, 0, | CTLFLAG_VNET | CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, NULL, 0, | ||||
&sysctl_net_inet_tcp_fastopen_client_enable, "IU", | &sysctl_net_inet_tcp_fastopen_client_enable, "IU", | ||||
"Enable/disable TCP Fast Open client functionality"); | "Enable/disable TCP Fast Open client functionality"); | ||||
SYSCTL_INT(_net_inet_tcp_fastopen, OID_AUTO, keylen, | SYSCTL_INT(_net_inet_tcp_fastopen, OID_AUTO, keylen, | ||||
CTLFLAG_RD, SYSCTL_NULL_INT_PTR, TCP_FASTOPEN_KEY_LEN, | CTLFLAG_RD, SYSCTL_NULL_INT_PTR, TCP_FASTOPEN_KEY_LEN, | ||||
"Key length in bytes"); | "Key length in bytes"); | ||||
SYSCTL_INT(_net_inet_tcp_fastopen, OID_AUTO, maxkeys, | SYSCTL_INT(_net_inet_tcp_fastopen, OID_AUTO, maxkeys, | ||||
Show All 22 Lines | |||||
SYSCTL_UINT(_net_inet_tcp_fastopen, OID_AUTO, path_disable_time, | SYSCTL_UINT(_net_inet_tcp_fastopen, OID_AUTO, path_disable_time, | ||||
CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(tcp_fastopen_path_disable_time), 0, | CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(tcp_fastopen_path_disable_time), 0, | ||||
"Seconds a TFO failure disables a {client_ip, server_ip, server_port} path"); | "Seconds a TFO failure disables a {client_ip, server_ip, server_port} path"); | ||||
VNET_DEFINE_STATIC(unsigned int, tcp_fastopen_psk_enable) = 0; | VNET_DEFINE_STATIC(unsigned int, tcp_fastopen_psk_enable) = 0; | ||||
#define V_tcp_fastopen_psk_enable VNET(tcp_fastopen_psk_enable) | #define V_tcp_fastopen_psk_enable VNET(tcp_fastopen_psk_enable) | ||||
static int sysctl_net_inet_tcp_fastopen_psk_enable(SYSCTL_HANDLER_ARGS); | static int sysctl_net_inet_tcp_fastopen_psk_enable(SYSCTL_HANDLER_ARGS); | ||||
SYSCTL_PROC(_net_inet_tcp_fastopen, OID_AUTO, psk_enable, | SYSCTL_PROC(_net_inet_tcp_fastopen, OID_AUTO, psk_enable, | ||||
CTLFLAG_VNET | CTLTYPE_UINT | CTLFLAG_RW, NULL, 0, | CTLFLAG_VNET | CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, NULL, 0, | ||||
&sysctl_net_inet_tcp_fastopen_psk_enable, "IU", | &sysctl_net_inet_tcp_fastopen_psk_enable, "IU", | ||||
"Enable/disable TCP Fast Open server pre-shared key mode"); | "Enable/disable TCP Fast Open server pre-shared key mode"); | ||||
VNET_DEFINE(unsigned int, tcp_fastopen_server_enable) = 0; | VNET_DEFINE(unsigned int, tcp_fastopen_server_enable) = 0; | ||||
static int sysctl_net_inet_tcp_fastopen_server_enable(SYSCTL_HANDLER_ARGS); | static int sysctl_net_inet_tcp_fastopen_server_enable(SYSCTL_HANDLER_ARGS); | ||||
SYSCTL_PROC(_net_inet_tcp_fastopen, OID_AUTO, server_enable, | SYSCTL_PROC(_net_inet_tcp_fastopen, OID_AUTO, server_enable, | ||||
CTLFLAG_VNET | CTLTYPE_UINT | CTLFLAG_RW, NULL, 0, | CTLFLAG_VNET | CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, NULL, 0, | ||||
&sysctl_net_inet_tcp_fastopen_server_enable, "IU", | &sysctl_net_inet_tcp_fastopen_server_enable, "IU", | ||||
"Enable/disable TCP Fast Open server functionality"); | "Enable/disable TCP Fast Open server functionality"); | ||||
static int sysctl_net_inet_tcp_fastopen_setkey(SYSCTL_HANDLER_ARGS); | static int sysctl_net_inet_tcp_fastopen_setkey(SYSCTL_HANDLER_ARGS); | ||||
SYSCTL_PROC(_net_inet_tcp_fastopen, OID_AUTO, setkey, | SYSCTL_PROC(_net_inet_tcp_fastopen, OID_AUTO, setkey, | ||||
CTLFLAG_VNET | CTLTYPE_OPAQUE | CTLFLAG_WR, NULL, 0, | CTLFLAG_VNET | CTLTYPE_OPAQUE | CTLFLAG_WR | CTLFLAG_NEEDGIANT, NULL, 0, | ||||
&sysctl_net_inet_tcp_fastopen_setkey, "", | &sysctl_net_inet_tcp_fastopen_setkey, "", | ||||
"Install a new key"); | "Install a new key"); | ||||
static int sysctl_net_inet_tcp_fastopen_setpsk(SYSCTL_HANDLER_ARGS); | static int sysctl_net_inet_tcp_fastopen_setpsk(SYSCTL_HANDLER_ARGS); | ||||
SYSCTL_PROC(_net_inet_tcp_fastopen, OID_AUTO, setpsk, | SYSCTL_PROC(_net_inet_tcp_fastopen, OID_AUTO, setpsk, | ||||
CTLFLAG_VNET | CTLTYPE_OPAQUE | CTLFLAG_WR, NULL, 0, | CTLFLAG_VNET | CTLTYPE_OPAQUE | CTLFLAG_WR | CTLFLAG_NEEDGIANT, NULL, 0, | ||||
&sysctl_net_inet_tcp_fastopen_setpsk, "", | &sysctl_net_inet_tcp_fastopen_setpsk, "", | ||||
"Install a new pre-shared key"); | "Install a new pre-shared key"); | ||||
static int sysctl_net_inet_tcp_fastopen_ccache_list(SYSCTL_HANDLER_ARGS); | static int sysctl_net_inet_tcp_fastopen_ccache_list(SYSCTL_HANDLER_ARGS); | ||||
SYSCTL_PROC(_net_inet_tcp_fastopen, OID_AUTO, ccache_list, | SYSCTL_PROC(_net_inet_tcp_fastopen, OID_AUTO, ccache_list, | ||||
CTLFLAG_VNET | CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_SKIP, NULL, 0, | CTLFLAG_VNET | CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_SKIP | | ||||
sysctl_net_inet_tcp_fastopen_ccache_list, "A", | CTLFLAG_NEEDGIANT, NULL, 0, sysctl_net_inet_tcp_fastopen_ccache_list, "A", | ||||
"List of all client cookie cache entries"); | "List of all client cookie cache entries"); | ||||
VNET_DEFINE_STATIC(struct rmlock, tcp_fastopen_keylock); | VNET_DEFINE_STATIC(struct rmlock, tcp_fastopen_keylock); | ||||
#define V_tcp_fastopen_keylock VNET(tcp_fastopen_keylock) | #define V_tcp_fastopen_keylock VNET(tcp_fastopen_keylock) | ||||
#define TCP_FASTOPEN_KEYS_RLOCK(t) rm_rlock(&V_tcp_fastopen_keylock, (t)) | #define TCP_FASTOPEN_KEYS_RLOCK(t) rm_rlock(&V_tcp_fastopen_keylock, (t)) | ||||
#define TCP_FASTOPEN_KEYS_RUNLOCK(t) rm_runlock(&V_tcp_fastopen_keylock, (t)) | #define TCP_FASTOPEN_KEYS_RUNLOCK(t) rm_runlock(&V_tcp_fastopen_keylock, (t)) | ||||
#define TCP_FASTOPEN_KEYS_WLOCK() rm_wlock(&V_tcp_fastopen_keylock) | #define TCP_FASTOPEN_KEYS_WLOCK() rm_wlock(&V_tcp_fastopen_keylock) | ||||
Show All 12 Lines |