Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Jun 2010 23:03:46 -0700
From:      Patrick Mahan <mahan@mahan.org>
To:        freebsd-net@freebsd.org
Subject:   Multicast under FBSD 8.0
Message-ID:  <4C21A3C2.9050002@mahan.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C21A3C2.9050002>