quagga-0.99.20.1p0 multicast broken on 5.2

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

quagga-0.99.20.1p0 multicast broken on 5.2

Raphael Mazelier-4
Hello list,

I use quagga since a while on openbsd on plenty of openbsd boxes.
I planned to move on openospfd(or bird) but it definitively lack
some feature (like good filtering, or redistribution), so I will
keep it for now.

Recently I upgrade some of them to 5.2 and quagga-0.99.20.1p0.

Since OSPF is broken, at least multicast support which was the
default.

A trace of the ospfd daemon in debug show :

2012/12/30 17:59:30.86 OSPF: make_hello: options: 2, int: vr0:192.168.0.9
2012/12/30 17:59:30.86 OSPF: can't setsockopt IP_MULTICAST_IF(fd 6, addr
192.168.0.9, ifindex 1): Can't assign requested address

It seems that quagga cannot send multicast packet.
Tcpdump confirm that.

So the question are :
- is something change in 5.2 in the multicast layer ?
- or is something change in quagga ?

Can anyone could take a look at this ?

Regards,

--
Raphael Mazelier

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: quagga-0.99.20.1p0 multicast broken on 5.2

Raphael Mazelier-4
> So the question are :
> - is something change in 5.2 in the multicast layer ?
> - or is something change in quagga ?
>

BTW recompiling quagga-0.99.19p2 from the 5.1 ports tree make a
functionnal quagga. Reading the diff from the two versions there is some
rewrite in the multicast code (simplification they say). There is
clearly something wrong with these code and the patch in current port
tree is not sufficient. I will try to look further if I can fix the new
version, but the code is so ugly :/ and it is not clear if what is the
correct way to use multicast on OpenBSD
(HAVE_STRUCT_IP_MREQN_IMR_IFINDEX ? HAVE_BSD_STRUCT_IP_MREQ_HACK ?)



--
Raphael Mazelier

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: quagga-0.99.20.1p0 multicast broken on 5.2 , patch included

Raphael Mazelier-4
>

> BTW recompiling quagga-0.99.19p2 from the 5.1 ports tree make a
> functionnal quagga. Reading the diff from the two versions there is some
> rewrite in the multicast code (simplification they say). There is
> clearly something wrong with these code and the patch in current port
> tree is not sufficient. I will try to look further if I can fix the new
> version, but the code is so ugly :/ and it is not clear if what is the
> correct way to use multicast on OpenBSD
> (HAVE_STRUCT_IP_MREQN_IMR_IFINDEX ? HAVE_BSD_STRUCT_IP_MREQ_HACK ?)
>
>
I wrote a first 'naive' patch wich work, at least for me. (attached)
I was difficult to make a clean patch because quagga broke/change their
multicast api in lib/sockopt.c, removing (struct iface *iface) parameter
from their functions, and using (struct ip_mreq mreq) seems not working.
So I just reuse the old code and paste it directly in opsf_network.c.
Hope that more experimented people could make a better patch and send it
upstream.

Regards,

--
Raphael Mazelier



patch-ospfd_ospf_network_c (4K) Download Attachment
Loading...