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 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]