Default socket interface configuration (proto)
extensions.network.socket_interface.v3.DefaultSocketInterface
[extensions.network.socket_interface.v3.DefaultSocketInterface proto]
Configuration for default socket interface that relies on OS dependent syscall to create sockets.
{
"io_uring_options": {...}
}
- io_uring_options
(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.
extensions.network.socket_interface.v3.IoUringOptions
[extensions.network.socket_interface.v3.IoUringOptions proto]
{
"io_uring_size": {...},
"enable_submission_queue_polling": ...,
"read_buffer_size": {...},
"write_timeout_ms": {...}
}
- 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.
- 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.
- 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.
- 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.