Subject: Re: Are net/quagga and net/zebra still maintained ?
To: Richard Braun <firstname.lastname@example.org>
From: Greg Troxel <email@example.com>
Date: 02/23/2005 09:35:00
Richard Braun <firstname.lastname@example.org> writes:
> Has anyone tested ospfd on NetBSD 1.6 branch on gif tunnels ?
> It seems there are problems with multicast (I got this message) :
> OSPF: can't setsockopt IP_ADD_MEMBERSHIP (AllSPFRouters): No buffer space available
There are two known problems. One is that quagga does multicast joins
by address, not ifindex, so if you are reusing addresses it can do the
wrong thing. The other is that at least some points along the 1.6
branch required root privs for multicast join/leave. See
src/sys/net/if_gif.c:gif_ioctl, and remove the suser test.
I have also seen ENOBUFS, and I think there may be issues with group
membership handling when an interface goes down. It's not clear to me
what the right behavior is. What happens now is:
interface comes up
zebra gets rtsock message, tells ospfd
ospfd joins groups
[interface is used]
interface goes down
zebra gets rtsock messages, tells ospfd
ospfd tries to leave groups [fails because down, I think]
So, it seems to me that either:
a) group membership on sockets goes away when interfaces go down
b) one can still call leave without error on down interfaces or
for addresses that are no longer configured
The above sort of cleanup as done by quagga seems reasonable. option
a seems bad, since there's no clean way for the user-space program to
know what has happened.
Greg Troxel <email@example.com>