joining multicast groups correctly

Achim Patzner ap at
Fri Jan 2 12:59:24 PST 2004

(Please show some mercy if I'm looking too stupid...)


As I'm running a number of subnets connected by a router on FreeBSD 4.9 
certain people started annoying me about Rendezvous not crossing 
broadcast domains' borders (they didn't dare to complain that they 
couldn't broadcast their iTunes stuff all over the place.

Well. It was around christmas so I didn't want to look like the 
asshole^nice person I usually seem to be and found a (Python) program 
that seemed to be exactly the nail to my hammer: mDNS Reflector (found 
at After BSDifying it a bit 
(actually adding an
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
where Linux seems to be satisfied by
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
alone I got it to run on Darwin 7.2 and on FreeBSD. But while it was 
doing its job quite nicely on Darwin it never returned from the select 
call waiting for incoming packets on FreeBSD. As Macs are obviously 
lousy routers (I could just as well buy Ciscos - if I found someone to 
pay for them) is there anyone with deep enough insight into the 
networking code to tell me how to modify said program?

Happy new year...


More information about the freebsd-net mailing list