socket

socket

Functions

Types and Values

Description

Functions

gnutls_transport_is_ktls_enabled ()

gnutls_transport_ktls_enable_flags_t
gnutls_transport_is_ktls_enabled (gnutls_session_t session);

Checks if KTLS is now enabled and was properly inicialized.

Parameters

session

is a gnutls_session_t type.

 

Since: 3.7.3


gnutls_transport_set_fastopen ()

void
gnutls_transport_set_fastopen (gnutls_session_t session,
                               int fd,
                               struct sockaddr *connect_addr,
                               socklen_t connect_addrlen,
                               unsigned int flags);

Enables TCP Fast Open (TFO) for the specified TLS client session. That means that TCP connection establishment and the transmission of the first TLS client hello packet are combined. The peer's address must be specified in connect_addr and connect_addrlen , and the socket specified by fd should not be connected.

TFO only works for TCP sockets of type AF_INET and AF_INET6. If the OS doesn't support TCP fast open this function will result to gnutls using connect() transparently during the first write.

Note: This function overrides all the transport callback functions. If this is undesirable, TCP Fast Open must be implemented on the user callback functions without calling this function. When using this function, transport callbacks must not be set, and gnutls_transport_set_ptr() or gnutls_transport_set_int() must not be called.

On GNU/Linux TFO has to be enabled at the system layer, that is in /proc/sys/net/ipv4/tcp_fastopen, bit 0 has to be set.

This function has no effect on server sessions.

Parameters

session

is a gnutls_session_t type.

 

fd

is the session's socket descriptor

 

connect_addr

is the address we want to connect to

 

connect_addrlen

is the length of connect_addr

 

flags

must be zero

 

Since: 3.5.3

Types and Values

enum gnutls_transport_ktls_enable_flags_t

Flag enumeration of ktls enable status for recv and send functions. This is used by gnutls_transport_is_ktls_enabled().

Members

GNUTLS_KTLS_RECV

ktls enabled for recv function.

 

GNUTLS_KTLS_SEND

ktls enabled for send function.

 

GNUTLS_KTLS_DUPLEX

ktls enabled for both recv and send functions.

 

Since: 3.7.3