.. _envoy_v3_api_file_envoy/extensions/network/socket_interface/v3/default_socket_interface.proto: Default socket interface configuration (proto) ============================================== .. _envoy_v3_api_msg_extensions.network.socket_interface.v3.DefaultSocketInterface: extensions.network.socket_interface.v3.DefaultSocketInterface ------------------------------------------------------------- :repo:`[extensions.network.socket_interface.v3.DefaultSocketInterface proto] ` Configuration for default socket interface that relies on OS dependent syscall to create sockets. .. code-block:: json :force: { "io_uring_options": {...} } .. _envoy_v3_api_field_extensions.network.socket_interface.v3.DefaultSocketInterface.io_uring_options: io_uring_options (:ref:`extensions.network.socket_interface.v3.IoUringOptions `) io_uring options. io_uring is only valid in Linux with at least kernel version 5.11. Otherwise, Envoy will fall back to use the default socket API. If not set then io_uring will not be enabled. .. _envoy_v3_api_msg_extensions.network.socket_interface.v3.IoUringOptions: extensions.network.socket_interface.v3.IoUringOptions ----------------------------------------------------- :repo:`[extensions.network.socket_interface.v3.IoUringOptions proto] ` .. code-block:: json :force: { "io_uring_size": {...}, "enable_submission_queue_polling": ..., "read_buffer_size": {...}, "write_timeout_ms": {...} } .. _envoy_v3_api_field_extensions.network.socket_interface.v3.IoUringOptions.io_uring_size: io_uring_size (`UInt32Value `_) The size for io_uring submission queues (SQ). io_uring is built with a fixed size in each thread during configuration, and each io_uring operation creates a submission queue entry (SQE). The default is 1000. .. _envoy_v3_api_field_extensions.network.socket_interface.v3.IoUringOptions.enable_submission_queue_polling: enable_submission_queue_polling (`bool `_) Enable io_uring submission queue polling (SQPOLL). io_uring SQPOLL mode polls all SQEs in the SQ in the kernel thread. io_uring SQPOLL mode may reduce latency and increase CPU usage as a cost. The default is false. .. _envoy_v3_api_field_extensions.network.socket_interface.v3.IoUringOptions.read_buffer_size: read_buffer_size (`UInt32Value `_) The size of an io_uring socket's read buffer. Each io_uring read operation will allocate a buffer of the given size. If the given buffer is too small, the socket will have read multiple times for all the data. The default is 8192. .. _envoy_v3_api_field_extensions.network.socket_interface.v3.IoUringOptions.write_timeout_ms: write_timeout_ms (`UInt32Value `_) The write timeout of an io_uring socket on closing in ms. io_uring writes and closes asynchronously. If the remote stops reading, the io_uring write operation may never complete. The operation is canceled and the socket is closed after the timeout. The default is 1000.