SO_REUSEADDR with UDP sockets on Linux. Is it necessary?

linux, setsockopt, time-wait, udp

Solution

UDP doesn't have connections, so there's nothing analogous to TIME_WAIT. You don't need to use SO_REUSEADDR.

If you're listening on a broadcast or multicast address, you might need to use SO_REUSEPORT, so that if there are multiple listeners on the same machine they don't conflict. However, from what I can tell, this doesn't exist on Linux.

Problem

My UDP socket is `bind()`ing to port 53 (DNS). Does UDP have a `TIME_WAIT` state or is using `SO_REUSEADDR` pointless on UDP sockets?

Original source

Related problems