Re: SO_REUSEPORT and multicasting

From: David Miller
Date: Wed Jun 14 2006 - 18:12:47 EST



Instead of degenerating this mailing list into a BSD socket
programming class, you may find this informative:

http://www.unixguide.net/network/socketfaq/4.11.shtml

and it's covered extensively in W. Richard Steven's book, TCP/IP
Illustrated, Volume 2. It is considered the bible on BSD socket
programming.

Particularly telling is the final paragraph from that web page which
reads:

Basically SO_REUSEPORT is a BSD'ism that arose when
multicast was added, evne though it was not used in the
original Steve Deering code. I believe some BSD-derived
systems may also include it. SO_REUSEPORT lets you bind
the same address *and* port, but only if all the binders
have specified it. But when binding to multicast address
(its main use), SO_REUSEADDR is considered identical to
SO_REUSEPORT (p. 731, "TCP/IP Illustrated, Volume 2").
So for portability of multicast applications, I always
use SO_REUSEADDR.

I STRONGLY suggest you go read that reference to page 731 in
the Steven book.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/