[radvd-devel-l] Linux infinite loop if interface goes down
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
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 3936 bytes
Desc: not available
More information about the radvd-devel-l