Multicast under FBSD 8.0
Patrick Mahan
mahan at mahan.org
Wed Jun 23 06:03:48 UTC 2010
All,
Hoping for a little insight as I am not a user of multicast nor
do I know much about the servers that use them.
In my day job, I am helping with the moving of my company's product
from FreeBSD 6.2 (i386) to FreeBSD 8.0 (amd64). One of the daemons
wants to use 224.0.0.9 (routed? rip?) multicast group.
The problem is this worked fine on 6.2 but when we moved to 8.0
the daemon started reporting "Network unreachable" errors when
it was trying to send a packet out to the multicast group.
I tracked it down to the following in the routing table:
% netstat -nr
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 10.10.1.1 UG 0 0 bce0
10.10.0.0/16 link#5 U 3 1253 bce0
...
224.0.0.2 127.0.0.1 UH 0 0 lo0
224.0.0.9 127.0.0.1 UH 0 0 lo0
Notice that 224.0.0.9 has a route pointing to the loopback interface,
even though the code uses the IP_MULTICAST_IF socket option to specify
the interface. If this entry does not exist or points to a true physical
interface, then there is no issue.
I did some research on this and found this code all changed in in_pcb.c
as part of revision 105629 for FreeBSD 7.2. But I don't understand why
he change and why the loopback was no longer allowed. I get asked
daily by the developers of this daemon for the reason, so I was hoping
to get some enlightment here.
Thanks for listening,
Patrick
More information about the freebsd-net
mailing list