Multicast under FBSD 8.0

Patrick Mahan mahan at mahan.org
Fri Jun 25 13:10:02 UTC 2010


Pierre,

The RIP source is all the BSD boxes in the current broadcast domain
that run our product.

The app does pick which interface to send the message out on and sets
that using the appropriate MULTICAST setsockoptions.

It is built for 8.0 (Or rather it is built using the 8.0 toolchain :-))
However, I believe this was something that was automatically configured
for each box under 6.2 as part of the normal configuration.  We have
since removed it and the app is now working fine.

I was being asked why the change occurred, and since multicast is not
something I am familiar with, I turned to this list.

Thanks,

Patrick

Pierre Lamy wrote:
> Multicast traffic doesn't get routed in a traditional sense, it sort of 
> gets repackaged for delivery to requesting recipients.
> 
> And 224/24 should never get retransmitted, it's for within a broadcast 
> domain only.
> 
> Is the RIP source the BSD box itself? If so, the app should determine 
> what interfaces to send on, and then use that. Can you recompile the 
> daemon for 8?
> 
> Pierre
> 
> Patrick Mahan wrote:
>> 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
>> _______________________________________________
>> freebsd-net at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-net
>> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
>>
> 
> 
> 


More information about the freebsd-net mailing list