tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Making dhcpcd work on diskless clients



In article <54D9E90D.8040603%marples.name@localhost>,
Roy Marples  <roy%marples.name@localhost> wrote:
>On 10/02/2015 04:25, Alan Barrett wrote:
>> On Sun, 08 Feb 2015, Roy Marples wrote:
>>>> since this problem goes away if we make all of dhcpcd in-memory first,
>>>> possibly what happens here is that with i386 or amd64, the layout is
>>>> such that we don't ever try to fault in code during the small period
>>>> of time that the route is missing.
>>>
>>> I don't fully understand what you are saying.
>> 
>> Some part of the code that you are trying to run may not be in memory,
>> so you may encounter a page fault when you try to run it.  Responding to
>> the page fault involves reading information from the the file system. 
>> On a diskless client, reading from the file system actually involves
>> transferring data over the network from the remote file server.  If you
>> try to read from the file server at a time when the routing table does
>> not contain a usable route to the file server, then you lose.
>> 
>>> But do you have an idea of how this can be fixed then without dhcpcd
>>> having to learn the routing table at load time?
>> 
>> Do you currently use RTM_DELETE and RTM_ADD?  Can you use RTM_CHANGE
>> instead?
>
>The last time I tried using RTM_CHANGE, it did not clear the learned
>cloned routes which RTM_DELETE handily does for me. This is important if
>we need to move a subnet route from one interface to another.

You can have a flag that selects the behavior. Also you can see if the
routes need changing before you go and delete them only to re-add them...

christos



Home | Main Index | Thread Index | Old Index