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. Roy
