summaryrefslogtreecommitdiffhomepage
path: root/src/stream/ngx_stream.h (follow)
AgeCommit message (Collapse)AuthorFilesLines
2024-03-22Stream: the "setfib" parameter of the "listen" directive.Sergey Kandaurov1-0/+3
The FreeBSD SO_SETFIB support.
2024-03-22Stream: the "accept_filter" parameter of the "listen" directive.Sergey Kandaurov1-0/+4
The FreeBSD accept filters support.
2024-03-22Stream: the "deferred" parameter of the "listen" directive.Sergey Kandaurov1-0/+1
The Linux TCP_DEFER_ACCEPT support.
2024-03-22Stream: reshuffled ngx_stream_listen_opt_t fields.Sergey Kandaurov1-6/+7
In preparation for adding more parameters to the listen directive, and to be in sync with the corresponding structure in the http module. No functional changes.
2023-12-14Stream: virtual servers.Roman Arutyunyan1-49/+111
Server name is taken either from ngx_stream_ssl_module or ngx_stream_ssl_preread_module. The change adds "default_server" parameter to the "listen" directive, as well as the following directives: "server_names_hash_max_size", "server_names_hash_bucket_size", "server_name" and "ssl_reject_handshake".
2021-05-20Stream: the "fastopen" parameter of the "listen" directive.Ruslan Ermilov1-0/+3
Based on a patch by Anbang Wen.
2019-11-18Limit conn: $limit_conn_status variable.Roman Arutyunyan1-0/+2
The variable takes one of the values: PASSED, REJECTED or REJECTED_DRY_RUN.
2019-03-15Multiple addresses in "listen".Roman Arutyunyan1-1/+2
Previously only one address was used by the listen directive handler even if host name resolved to multiple addresses. Now a separate listening socket is created for each address.
2017-04-03Stream: configurable socket buffer sizes.Vladimir Homutov1-0/+2
The "rcvbuf" and "sndbuf" parameters are now supported by the "listen" directive.
2017-01-31Variables: generic prefix variables.Dmitry Volyntsev1-1/+2
2016-10-10Modules compatibility: removed dependencies on NGX_STREAM_SSL.Maxim Dounin1-8/+0
External structures are now identical regardless of stream SSL module compiled in or not.
2016-10-03Modules compatibility: removed unneeded NGX_HAVE_REUSEPORT checks.Maxim Dounin1-2/+0
Removed NGX_HAVE_REUSEPORT from the signature accordingly.
2016-10-03Modules compatibility: removed unneeded IPV6_V6ONLY checks.Maxim Dounin1-1/+1
The IPV6_V6ONLY macro is now checked only while parsing appropriate flag and when using the macro. The ipv6only field in listen structures is always initialized to 1, even if not supported on a given platform. This is expected to prevent a module compiled without IPV6_V6ONLY from accidentally creating dual sockets if loaded into main binary with proper IPV6_V6ONLY support.
2016-09-29Modules compatibility: status fields.Maxim Dounin1-0/+2
2016-09-29Modules compatibility: health check fields.Maxim Dounin1-1/+3
2016-09-15Stream: preread phase.Vladimir Homutov1-0/+5
In this phase, head of a stream is read and analysed before proceeding to the content phase. Amount of data read is controlled by the module implementing the phase, but not more than defined by the "preread_buffer_size" directive. The time spent on processing preread is controlled by the "preread_timeout" directive. The typical preread phase module will parse the beginning of a stream and set variable that may be used by the content phase, for example to make routing decision.
2016-09-15Stream: phases.Roman Arutyunyan1-9/+48
2016-09-15Stream: filters.Roman Arutyunyan1-0/+10
2016-09-01Stream: realip module.Dmitry Volyntsev1-0/+1
2016-09-06Stream: the "proxy_protocol" parameter of the "listen" directive.Dmitry Volyntsev1-1/+6
2016-09-06Stream: postpone session initialization under accept mutex.Dmitry Volyntsev1-0/+4
Previously, it was possible that some system calls could be invoked while holding the accept mutex. This is clearly wrong as it prevents incoming connections from being accepted as quickly as possible.
2016-09-05Stream: log module.Vladimir Homutov1-0/+1
2016-09-02Stream: the $upstream_addr variable.Vladimir Homutov1-1/+2
Keeps the full address of the upstream server. If several servers were contacted during proxying, their addresses are separated by commas, e.g. "192.168.1.1:80, 192.168.1.2:80".
2016-08-11Stream: the $status variable.Roman Arutyunyan1-1/+10
The stream session status is one of the following: 200 - normal completion 403 - access forbidden 500 - internal server error 502 - bad gateway 503 - limit conn
2016-08-26Stream: the $session_time variable.Vladimir Homutov1-0/+2
The variable keeps time spent on processing the stream session.
2016-08-17Ensure "listen" exists in a mail or stream server (ticket #1049).Roman Arutyunyan1-0/+2
2016-08-18Fixed wrong type of the "line" field.Roman Arutyunyan1-1/+1
The new type ngx_uint_t was supposed when formatting the line number.
2016-07-07Stream: resolver.Vladimir Homutov1-0/+3
2016-07-04Stream: variables and script.Vladimir Homutov1-55/+80
This is a port of corresponding http code with unrelated features excluded.
2016-06-15Stream: added preconfiguration step.Vladimir Homutov1-0/+1
2016-05-23Renamed "u" to "sockaddr" in listen options types.Maxim Dounin1-1/+1
2016-05-23Introduced the ngx_sockaddr_t type.Ruslan Ermilov1-11/+1
It's properly aligned and can hold any supported sockaddr.
2016-05-20Use ngx_cmp_sockaddr() where appropriate.Ruslan Ermilov1-1/+0
2016-01-20Stream: UDP proxy.Roman Arutyunyan1-0/+2
2015-08-10Stream: the "tcp_nodelay" directive.Vladimir Homutov1-0/+1
2015-06-18Stream: connection limiting module.Vladimir Homutov1-0/+1
stream { limit_conn_zone $binary_remote_addr zone=perip:1m; limit_conn_log_level error; server { ... limit_conn perip 1; } }
2015-06-04Stream: access module.Vladimir Homutov1-0/+4
stream { server { ... allow 127.0.0.1; deny all; } }
2015-06-09Stream: added postconfiguration method to stream modules.Vladimir Homutov1-0/+2
2015-06-08Stream: listen backlog=.Ruslan Ermilov1-0/+1
2015-06-08Stream: embed ngx_stream_listen_t into ngx_stream_conf_addr_t.Ruslan Ermilov1-23/+13
2015-06-05Stream: fixed "reuseport" to actually work.Ruslan Ermilov1-0/+3
2015-05-20The "reuseport" option of the "listen" directive.Maxim Dounin1-0/+3
When configured, an individual listen socket on a given address is created for each worker process. This allows to reduce in-kernel lock contention on configurations with high accept rates, resulting in better performance. As of now it works on Linux and DragonFly BSD. Note that on Linux incoming connection requests are currently tied up to a specific listen socket, and if some sockets are closed, connection requests will be reset, see https://lwn.net/Articles/542629/. With nginx, this may happen if the number of worker processes is reduced. There is no such problem on DragonFly BSD. Based on previous work by Sepherosa Ziehau and Yingqi Lu.
2015-04-25Core: the ngx_set_connection_log() macro.Vladimir Homutov1-10/+0
The http and stream versions of this macro were identical.
2015-04-20Stream: port from NGINX+.Ruslan Ermilov1-0/+215