DHCP support is unlikely to go into the kernel, so the next best thing is DHCP in userspace, via initrd. To facilitate the use of pump in an initrd which can later be freed with freeramdisk, I added options to pump for suspending and resuming from file. If this patch doesn't look too bad, I'll be happy to go ahead and document and resubmit.
Created attachment 7123 [details] patch adding --suspend, --resume and --statefile (filename)
Thanks for the patch. Can you explain why this feature is needed? It sounds like some complication for possibly no gain. Apologies for the unresponsiveness of the previous pump packager...
Note: I don't think pump is the primary DHCP client for RH these days, but I'll explain anyway ;-) (and, I think it may still be a useful patch) This patch is to speed up and improve network-booting diskless clients: 1)etherboot/PXE does DHCP and gets kernel+ramdisk 2)ramdisk does DHCP again to get info it needs (and configure the network, of course) 3)ramdisk does some work to create the 'real' root filesystem, but needs to pivot_root to get there -since pump is running in the first ramdisk, I have to kill it if I want to free the old ramdisk 5)with my patch, I just tell pump to exit, but not down the interface or contact the dhcp server; otherwise I kill pump the old way 6)pivot_root, freeramdisk 7)with my patch, I just tell pump to restart and get it's state from the file saved in the new root, without contacting the dhcp server; otherwise I run pump as normal again, for the 3rd dhcp request So this just gave the cleanest/fastest behavior for my diskless boxes. As you noted, this patch is pretty old - I'm using dhcpcd now, because it actually writes out a file with the data from dhcp, and my ramdisk uses that info. Feel free to ditch this - but now you know why I did it. ;-)
Sheesh, I took a look at the latest kernel. I guess Linus changed his mind. ;-)
Like you noted, pump is no longer the dhcp client for RHL in rawhide...