aboutsummaryrefslogtreecommitdiff
path: root/src/os/unix
diff options
context:
space:
mode:
authorVladimir Homutov <vl@nginx.com>2021-07-15 14:22:00 +0300
committerVladimir Homutov <vl@nginx.com>2021-07-15 14:22:00 +0300
commitc0764bc3e91713806875904f9c46bc68815b7bba (patch)
tree72801e702c24c4c6c475c9aec07adb6730ad424e /src/os/unix
parent105de9762f840bf97d939a931b47bba9a9bfe226 (diff)
downloadnginx-c0764bc3e91713806875904f9c46bc68815b7bba.tar.gz
nginx-c0764bc3e91713806875904f9c46bc68815b7bba.zip
QUIC: added support for segmentation offloading.
To improve output performance, UDP segmentation offloading is used if available. If there is a significant amount of data in an output queue and path is verified, QUIC packets are not sent one-by-one, but instead are collected in a buffer, which is then passed to kernel in a single sendmsg call, using UDP GSO. Such method greatly decreases number of system calls and thus system load.
Diffstat (limited to 'src/os/unix')
-rw-r--r--src/os/unix/ngx_linux_config.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/os/unix/ngx_linux_config.h b/src/os/unix/ngx_linux_config.h
index 3036caebf..88fef47ce 100644
--- a/src/os/unix/ngx_linux_config.h
+++ b/src/os/unix/ngx_linux_config.h
@@ -103,6 +103,10 @@ typedef struct iocb ngx_aiocb_t;
#include <linux/capability.h>
#endif
+#if (NGX_HAVE_UDP_SEGMENT)
+#include <netinet/udp.h>
+#endif
+
#define NGX_LISTEN_BACKLOG 511