On Tue, Jan 26, 2010 at 01:53:40PM +0000, Stuart Henderson wrote:
> On 2010/01/26 10:32, Christiano F. Haesbaert wrote:
> > On Mon, Jan 25, 2010 at 10:27:42PM -0800, Philip Guenther wrote:
> > > So, have you read the commit message that added that code?  If you're
> > > not sure what version that code appeared in, use "cvs annotate
> > > whatever.c" to see when those lines were committed.  Then compare that
> > > version to the previous version with "cvs diff -r1.N-1 -r1.N
> > > whatever.c" to confirm that rev 1.N actually added those lines (and it
> > > wasn't just a reformatting or similar).  If not, repeat with "cvs
> > > annotate -r1.N-1 whatever.c" until you find when the code was added.
> > > Then use "cvs log -N -r1.N whatever.c" to see the commit message.
> > > Hopefully (tm), the commit message will be clear, or at least point
> > > you in the right direction for understanding why it was added.
> > > 
> > 
> > Hi, again thanks for your help, I didn't think of that, well that
> > almost did the trick, here is claudio's message:
> > 
> > -revision 1.9
> > -date: 2007/04/27 09:20:32; author: claudio; state: Exp;
> > -lines: +21 -3
> > -Ripd needs a valid route for 224.0.0.9 to work. Instead of forcing
> > -users to set multicast_router=YES we inject a 224.0.0.9/32 route into
> > -the kernel and remove the route on exit if the insert was
> > -successful. With this ripd works out of the box.  OK michele@ norby@
> > 
> > Ok so that save us from "manually" adding the route, and by the
> > message it looks like it *needs* it, but I still don't understand why
> > it is necessary, if that's not a special case, then any software who
> > want' to multicast will at least need to add a route, which would
> > require root privilege (ok privilege separation helps). 
> 
> By default there is a localhost -reject route for the whole of the
> multicast range added by netstart.
> 
> If you wish to enable IPv4 multicast for general use on your system,
> set multicast_router=YES or multicast_host=(YES|interface name) in
> rc.conf.local. Since different people will need different settings
> and many might not want it at all, I think changing the default
> would be a mistake (even though I've personally been bitten by
> it on more than one occasion when trying to get VLC to listen to
> multicast streams on a new machine .. ;-)
> 
> Note that enabling the multicats protocols that spamd and
> dhcpd can use does *not* automatically set this.
> 

Hmm. In a perfect world using IP_MULTICAST_IF should bypass the route
lookup in the UDP case. Since it is not needed and the reject route would
not trigger. The 224.0.0.9 host route is more a workaround (mainly because
only UDP sockets suffer from this problem whereas the raw IP sockets used
by ospfd do not show this problem).

Hint: Somebody should try to fix this (I will look at the diff).

-- 
:wq Claudio

Reply via email to