SPDK socket implementation options. More...
#include <sock.h>
Data Fields | |
uint32_t | recv_buf_size |
Minimum size of sock receive buffer. | |
uint32_t | send_buf_size |
Minimum size of sock send buffer. | |
bool | enable_recv_pipe |
Enable or disable receive pipe. | |
bool | enable_zerocopy_send |
Deprecated, please use enable_zerocopy_send_server or enable_zerocopy_send_client instead Enable or disable use of zero copy flow on send. | |
bool | enable_quickack |
Enable or disable quick ACK. | |
uint32_t | enable_placement_id |
Enable or disable placement_id. | |
bool | enable_zerocopy_send_server |
Enable or disable use of zero copy flow on send for server sockets. | |
bool | enable_zerocopy_send_client |
Enable or disable use of zero copy flow on send for client sockets. | |
uint32_t | zerocopy_threshold |
Set zerocopy threshold in bytes. | |
uint32_t | tls_version |
TLS protocol version. | |
bool | enable_ktls |
Enable or disable kernel TLS. | |
uint8_t * | psk_key |
Set default PSK key. | |
uint32_t | psk_key_size |
Size of psk_key. | |
char * | psk_identity |
Set default PSK identity. | |
int(* | get_key )(uint8_t *out, int out_len, const char **cipher, const char *psk_identity, void *get_key_ctx) |
Optional callback to retrieve PSK based on client's identity. | |
void * | get_key_ctx |
Context to be passed to get_key() callback. | |
const char * | tls_cipher_suites |
Cipher suite. | |
SPDK socket implementation options.
A pointer to this structure is used by spdk_sock_impl_get_opts() and spdk_sock_impl_set_opts() to allow the user to request options for the socket module implementation. Each socket module defines which options from this structure are applicable to the module.
bool spdk_sock_impl_opts::enable_ktls |
Enable or disable kernel TLS.
Used by ssl socket modules.
uint32_t spdk_sock_impl_opts::enable_placement_id |
Enable or disable placement_id.
Used by posix and uring socket modules. Valid values in the enum spdk_placement_mode.
bool spdk_sock_impl_opts::enable_quickack |
Enable or disable quick ACK.
Used by posix and uring socket modules.
bool spdk_sock_impl_opts::enable_recv_pipe |
Enable or disable receive pipe.
Used by posix and uring socket modules.
bool spdk_sock_impl_opts::enable_zerocopy_send |
Deprecated, please use enable_zerocopy_send_server or enable_zerocopy_send_client instead Enable or disable use of zero copy flow on send.
Used by posix socket module.
bool spdk_sock_impl_opts::enable_zerocopy_send_client |
Enable or disable use of zero copy flow on send for client sockets.
Used by posix and uring socket modules.
bool spdk_sock_impl_opts::enable_zerocopy_send_server |
Enable or disable use of zero copy flow on send for server sockets.
Used by posix and uring socket modules.
int(* spdk_sock_impl_opts::get_key) (uint8_t *out, int out_len, const char **cipher, const char *psk_identity, void *get_key_ctx) |
Optional callback to retrieve PSK based on client's identity.
out | Buffer for PSK in binary format to be filled with found key. |
out_len | Length of "out" buffer. |
cipher | Cipher suite to be set by this callback. |
psk_identity | PSK identity for which the key needs to be found. |
get_key_ctx | Context for this callback. |
char* spdk_sock_impl_opts::psk_identity |
Set default PSK identity.
Used by ssl socket module.
uint8_t* spdk_sock_impl_opts::psk_key |
Set default PSK key.
Used by ssl socket module.
uint32_t spdk_sock_impl_opts::recv_buf_size |
Minimum size of sock receive buffer.
Used by posix and uring socket modules.
uint32_t spdk_sock_impl_opts::send_buf_size |
Minimum size of sock send buffer.
Used by posix and uring socket modules.
const char* spdk_sock_impl_opts::tls_cipher_suites |
Cipher suite.
Used by ssl socket module. For connecting side, it must contain a single cipher: example: "TLS_AES_256_GCM_SHA384"
For listening side, it may be a colon separated list of ciphers: example: "TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256"
uint32_t spdk_sock_impl_opts::tls_version |
TLS protocol version.
Used by ssl socket module.
uint32_t spdk_sock_impl_opts::zerocopy_threshold |
Set zerocopy threshold in bytes.
A consecutive sequence of requests' iovecs that fall below this threshold may be sent without zerocopy flag set.