diff --git a/src/stream/ngx_stream.c b/src/stream/ngx_stream.c index 1c5e7a87c..b0889e4d6 100644 --- a/src/stream/ngx_stream.c +++ b/src/stream/ngx_stream.c @@ -314,6 +314,9 @@ found: #if (NGX_HAVE_INET6 && defined IPV6_V6ONLY) addr->ipv6only = listen->ipv6only; #endif +#if (NGX_HAVE_REUSEPORT) + addr->reuseport = listen->reuseport; +#endif return NGX_OK; } @@ -386,6 +389,10 @@ ngx_stream_optimize_servers(ngx_conf_t *cf, ngx_array_t *ports) ls->ipv6only = addr[i].ipv6only; #endif +#if (NGX_HAVE_REUSEPORT) + ls->reuseport = addr[i].reuseport; +#endif + stport = ngx_palloc(cf->pool, sizeof(ngx_stream_port_t)); if (stport == NULL) { return NGX_CONF_ERROR; diff --git a/src/stream/ngx_stream.h b/src/stream/ngx_stream.h index a10f68fff..116c0cc54 100644 --- a/src/stream/ngx_stream.h +++ b/src/stream/ngx_stream.h @@ -108,6 +108,9 @@ typedef struct { #endif #if (NGX_HAVE_INET6 && defined IPV6_V6ONLY) unsigned ipv6only:1; +#endif +#if (NGX_HAVE_REUSEPORT) + unsigned reuseport:1; #endif unsigned so_keepalive:2; #if (NGX_HAVE_KEEPALIVE_TUNABLE)