@@ -78,6 +78,10 @@ static struct command conf_commands[] = {
7878 conf_set_bool ,
7979 offsetof(struct conf_pool , tcpkeepalive ) },
8080
81+ { string ("reuseport" ),
82+ conf_set_bool ,
83+ offsetof(struct conf_pool , reuseport ) },
84+
8185 { string ("redis_auth" ),
8286 conf_set_string ,
8387 offsetof(struct conf_pool , redis_auth ) },
@@ -199,6 +203,7 @@ conf_pool_init(struct conf_pool *cp, struct string *name)
199203
200204 cp -> redis = CONF_UNSET_NUM ;
201205 cp -> tcpkeepalive = CONF_UNSET_NUM ;
206+ cp -> reuseport = CONF_UNSET_NUM ;
202207 cp -> redis_db = CONF_UNSET_NUM ;
203208 cp -> preconnect = CONF_UNSET_NUM ;
204209 cp -> auto_eject_hosts = CONF_UNSET_NUM ;
@@ -287,6 +292,7 @@ conf_pool_each_transform(void *elem, void *data)
287292 sp -> hash_tag = cp -> hash_tag ;
288293
289294 sp -> tcpkeepalive = cp -> tcpkeepalive ? 1 : 0 ;
295+ sp -> reuseport = cp -> reuseport ? 1 : 0 ;
290296
291297 sp -> redis = cp -> redis ? 1 : 0 ;
292298 sp -> timeout = cp -> timeout ;
@@ -1242,6 +1248,10 @@ conf_validate_pool(struct conf *cf, struct conf_pool *cp)
12421248 cp -> tcpkeepalive = CONF_DEFAULT_TCPKEEPALIVE ;
12431249 }
12441250
1251+ if (cp -> reuseport == CONF_UNSET_NUM ) {
1252+ cp -> reuseport = CONF_DEFAULT_REUSEPORT ;
1253+ }
1254+
12451255 if (cp -> redis_db == CONF_UNSET_NUM ) {
12461256 cp -> redis_db = CONF_DEFAULT_REDIS_DB ;
12471257 }
0 commit comments