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)