@sergey-safarov commented on this pull request.
+inline static int find_listening_sock_info(
+ int s, union sockaddr_union **from, int type) +{ + struct ip_addr ip; + struct socket_info *si = NULL; + su2ip_addr(&ip, *from); + + si = find_si(&ip, 0, type); + + if(unlikely(si == 0)) { + si = find_sock_info_by_address_family(type, ip.af); + if(si) { + int optval = 1; + su2ip_addr(&ip, &si->su); + *from = &si->su; + if(setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (void *)&optval,
Current implementation requires kernel with `SO_REUSEADDR` and `SO_REUSEPORT`. I have checked sources and found several places where this features also required.
I have a question. Can we relay on statement "all kernels provide `SO_REUSEADDR` and `SO_REUSEPORT`" functionality?