RumpNet

The Hurd is currently using an old Linux's TCP/IP stack (pfinet) and device drivers. Hurd developers are replacing Linux's old ethernet drivers with rumpnet's modern ethernet and wifi device drivers. While porting Linux's device drivers would provide better hardware support, we do not have the developer man-power to maintain it. Hurd Developers prefer rumpnet's stable API over Linux's code churn. We plan to replace pfinet with lwip (or use rump's TCP/IP stack).

In 2025, Damien Zammit make significant progress with rumpnet. He coded rumpnet to work with /dev/wmX cards, which are Intel i8254x Gigabit Ethernet devices. (Documentation is available at man.netbsd.org's wm(4) web page). Please note that these are ethernet cards not wifi cards. This should be easily extended to support other NICs by contributing to netbsd/rump's makefiles.

Example usage:

# settrans -fgapc /dev/rumpnet /hurd/rumpnet
# settrans -fgapc /dev/wm0 /hurd/devnode -M /dev/rumpnet wm0
# settrans -fgap /servers/socket/2 /hurd/pfinet -i /dev/wm0

In your /etc/network/interfaces replace /dev/eth0 with /dev/wm0

auto /dev/wm0  # this will autostart rumpnet at boot
iface /dev/wm0 inet dhcp

Now you should be able to manually start rumpnet!

# ifup /dev/wm0