[radvd-devel-l] Linux infinite loop if interface goes down
Teemu Torma
teemu at torma.org
Thu Aug 27 15:09:48 EDT 2009
On Thursday 27 August 2009 15:20:23 Pekka Savola wrote:
> Anyone interested and have time to look at this? I'll try to figure
> out more when I have a bit more time.
I did that yesterday and I have been running the radvd with attached patch
which seems to cure the problem.
The issue is that when interface comes back up, send_ra will call
reload_config which will reset timers for all interfaces. However, the
current timer event will continue processing as usual and at the end will
reset the current timer. Since reload_config already did that, timer list
pointers will be screwed and at least in my case cause an infinite loop.
I haven't tried this, but it might suffice to ignore already existing timer
entry in set_timer (i.e, tm->next && tm->prev).
I don't know the code well enough to say if this is a good way to deal with
the issue.
Teemu
-------------- next part --------------
A non-text attachment was scrubbed...
Name: radvd-reload.patch
Type: text/x-patch
Size: 3936 bytes
Desc: not available
URL: <http://lists.litech.org/pipermail/radvd-devel-l/attachments/20090827/d0666acf/attachment.bin>
More information about the radvd-devel-l
mailing list