Kernel netdump project
SVN branch: projects/sv Current patchset URL: http://www.freebsd.org/~attilio/Sandvine/STABLE_8/netdump/netdump_alpha_1.diff
Contact: Attilio Rao <attilio@freebsd.org> Contact: Ed Maste <emaste@freebsd.org>
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.
Configuring Netdump
For example:
# sysctl net.dump.server=10.135.14.118 net.dump.server: 0.0.0.0 -> 10.135.14.118 # sysctl net.dump.client=10.135.12.114 net.dump.client: 0.0.0.0 -> 10.135.12.114 # sysctl net.dump.gateway=10.135.12.113 net.dump.gateway: 0.0.0.0 -> 10.135.12.113 # sysctl net.dump.nic=em2 net.dump.nic: none -> em2 # sysctl net.dump.enable=1 net.dump.enable: 0 -> 1
Future Projects
- Use tftp as the transfer protocol, so that a custom server is not required
- Import the uIP stack from Contiki to replace Netdump's own UDP+IP+ARP stack
- Implement network console and gdb backend using a shared debug context stack
- Add the IPv6 support
- Make dumpsys() a 'diskdumpsys()' routine and add 'netdumpsys()' getting rid of disk attributes in the dumper