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?
--apb (Alan Barrett)