[quagga-dev 3142] Re: Bug#303901: quagga: zebra : unused/dead ICMPv6 socket

Andrew J. Schorr aschorr at telemetry-investments.com
Sun Apr 10 14:51:38 BST 2005


On Sun, Apr 10, 2005 at 03:27:51PM +0200, Christian Hammers wrote:
> > 
> > For some reason, zebra opens a raw ICMPv6 socket, but it looks like it
> > does not reads data on it :
> > 
> > # netstat -l
> > Proto Recv-Q Send-Q Local Address           Foreign Address
> > State       PID/Program name
> > (...)
> > raw6  109380      0 *:ipv6-icmp             *:*
> > 7           22504/zebra
> > 
> > If it doesn't need it, it should be closed/not opened. If it's only for
> > writing, the socket should be shutdown for reading. If otherwise, it's
> > a bug.

I just fixed a similar problem with ICMP V4 IRDP sockets being created
for no reason.  A quick glance suggests that the problem is that
main() always calls rtadv_init(), and rtadv_init() calls rtadv_make_socket().
And rtadv_make_socket() creates an ICMPV6 socket.  I would guess that
the fix is to wait until no_ipv6_nd_suppress_ra() is called before creating
the socket, but it would be best if somebody more familiar with that
code could comment...

Regards,
Andy



More information about the Quagga-dev mailing list