[radvd-devel-l] radvd 1.0 issue with non-RUNNING interfaces

Pekka Savola pekkas at netcore.fi
Sat Dec 1 04:02:14 EST 2007


Hello all,

Hearing no comments, I've committed the change to CVS.

On Wed, 24 Oct 2007, Pekka Savola wrote:
> I'm copying the radvd devel list because I'd like more input on this.
> On Sat, 29 Sep 2007, Simon wrote:
>>  I have attached the file I modified as I don't quite know how to get the
>>  correct diff.
>>
>>  I am still looking at why the interface is running
>>
>>  [From an earlier email:]
>>
>>  The scenario is as follows :-
>> 
>> 1. Configure the IPV6 interface and radvd as appropriate to run on
>>    that interface.
>> 
>> 2. Have radvd chkconfig'd to start on boot
>> 
>> 3. Do not have the network cable plugged into the interface
>> 
>> 4. Reboot the machine, when the OS boots the interface it cannot
>>    assign a link local address, so it will be up but not running.
>> 
>> 5. radvd will exit because (call the ABORT) because it cannot find a
>>    link local address.
>
> I did some testing on this and it appears that Linux kernel behaviour has 
> changed within the last 1-2 years or so (e.g., on RHL73, when an interface 
> didn't have RUNNING flag, it would still have link-local address).  The 
> probable reason for this change is that if a particular interface supports 
> notification whether link is up or down, this kind of action is reasonable.
>
> I can think of two scenarios where this approach could fail:
>
>  - if an interface is not able to detect whether link is up or not.
>    (I'm not sure if all the relevant interface drivers support this.
>    Feedback is welcome on this.)
>
>  - on an old kernel, in a setup which would have worked earlier,
>    (with cable plugged off but interface has link-local addresses)
>    it no longer works unless IgnoreIfMissing is not enabled.
>
> In the essence, the patch would require that interface is in RUNNING state, 
> instead of only checking whether a link-local address exists, before starting 
> up.  This check can be skipped with 'IgnoreIfMissing yes' declaration.
>
> If anyone knows in more detail about interface drivers which don't report 
> "RUNNING" flag, please let me know.  I'd like to avoid breaking even the 
> older setups.  Otherwise I'd be inclined to merge this patch.
>
>

-- 
Pekka Savola                 "You each name yourselves king, yet the
Netcore Oy                    kingdom bleeds."
Systems. Networks. Security. -- George R.R. Martin: A Clash of Kings



More information about the radvd-devel-l mailing list