====== Kernel netdump project ====== Status: [[https://svnweb.freebsd.org/changeset/base/333283|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. * https://web.archive.org/web/20040619062455/www.cs.duke.edu/~anderson/freebsd/netdump/readme.html ===== 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 * 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 ===== [[https://man.freebsd.org/cgi/man.cgi?query=netdump&sektion=4&manpath=FreeBSD+12-current|netdump(4)]] [[https://man.freebsd.org/cgi/man.cgi?query=dumpon&sektion=8&manpath=FreeBSD+12-current|dumpon(8)]] ===== Contacts ===== * [[MarkJohnston|Mark Johnston]]