Kernel netdump project
Status: Committed to SVN in r333283 and nearby commits.
Netdump provides kernel core dumping over the network, instead of to a local disk. It implements a very minimal UDP/IPv4 stack and uses a custom UDP protocol to transmit the dump to the netdump server running on another host.
Netdump should find use in diskless workstation clusters, PXE-booted test machines, and perhaps when doing disk driver development.
Caveats
- Netdump is fairly inefficient in the face of packet loss. When it misses an ACK, it prints ". ".
- Netdumpd names cores based on source IP ("vmcore-IP.num") but decryptcore(8) expects a certain convention
Enhancement ideas
- Fixing any NIC-specific netdump bugs as they crop up
- Validate EKCD + netdumps (CEM: I've done some preliminary testing here and it mostly seems to work. The integration needs a little polish.)
- (EKCD provides dump privacy, but not integrity nor does it authenticate the client to the server.)
- Validate compression + netdump (CEM: I've done some preliminary testing here too and it seems ok. Ditto maybe needing polish.)
- Improve performance. Current protocol is not ideal.
- Investigate using a standard protocol (TFTP?)
- Handling changing server domain IPs, interface IPs, and routes in some general fashion.
- DNS resolution at dump time rather than configuration time?
- Similar class of issue handling changing resolv.conf list
- DNS resolution at dump time rather than configuration time?
- IPv6 support
- L2 address resolution using NDP instead of ARP
- Something about SLAAC to auto-configure?
- Client authentication to netdumpd, i.e., solving the netdumpd trivial DoS problem
- Multiple servers (fallback?)
Resources