@@ -183,6 +183,8 @@ enum {
183183 NGX_HTTP_LUA_SOCKOPT_TCP_NODELAY ,
184184 NGX_HTTP_LUA_SOCKOPT_SNDBUF ,
185185 NGX_HTTP_LUA_SOCKOPT_RCVBUF ,
186+ NGX_HTTP_LUA_SOCKOPT_KEEPINTVL ,
187+ NGX_HTTP_LUA_SOCKOPT_KEEPCNT ,
186188};
187189
188190
@@ -6637,6 +6639,16 @@ ngx_http_lua_ffi_socket_tcp_getoption(ngx_http_lua_socket_tcp_upstream_t *u,
66376639 rc = getsockopt (fd , SOL_SOCKET , SO_KEEPALIVE , (void * ) val , & len );
66386640 break ;
66396641
6642+ #if (NGX_HAVE_KEEPALIVE_TUNABLE )
6643+ case NGX_HTTP_LUA_SOCKOPT_KEEPINTVL :
6644+ rc = getsockopt (fd , IPPROTO_TCP , TCP_KEEPINTVL , (void * ) val , & len );
6645+ break ;
6646+
6647+ case NGX_HTTP_LUA_SOCKOPT_KEEPCNT :
6648+ rc = getsockopt (fd , IPPROTO_TCP , TCP_KEEPCNT , (void * ) val , & len );
6649+ break ;
6650+ #endif
6651+
66406652 case NGX_HTTP_LUA_SOCKOPT_REUSEADDR :
66416653 rc = getsockopt (fd , SOL_SOCKET , SO_REUSEADDR , (void * ) val , & len );
66426654 break ;
@@ -6695,6 +6707,18 @@ ngx_http_lua_ffi_socket_tcp_setoption(ngx_http_lua_socket_tcp_upstream_t *u,
66956707 (const void * ) & val , len );
66966708 break ;
66976709
6710+ #if (NGX_HAVE_KEEPALIVE_TUNABLE )
6711+ case NGX_HTTP_LUA_SOCKOPT_KEEPINTVL :
6712+ rc = setsockopt (fd , IPPROTO_TCP , TCP_KEEPINTVL ,
6713+ (const void * ) & val , len );
6714+ break ;
6715+
6716+ case NGX_HTTP_LUA_SOCKOPT_KEEPCNT :
6717+ rc = setsockopt (fd , IPPROTO_TCP , TCP_KEEPCNT ,
6718+ (const void * ) & val , len );
6719+ break ;
6720+ #endif
6721+
66986722 case NGX_HTTP_LUA_SOCKOPT_REUSEADDR :
66996723 rc = setsockopt (fd , SOL_SOCKET , SO_REUSEADDR ,
67006724 (const void * ) & val , len );
0 commit comments