blob: ec67d6b595cdca30b2dd2a1a37e51e7c4ace9f81 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
[[!meta copyright="Copyright © 2024 Free Software Foundation,
Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]
[[!tag stable_URL]]
# 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|hurd/translator/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)](https://man.netbsd.org/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 -fgap /dev/rumpnet /hurd/rumpnet
$ settrans -fgap /dev/wm0 /hurd/devnode -M /dev/rumpnet wm0
$ settrans -fgap /servers/socket/2 /hurd/pfinet -i /dev/wm0
$ ifup /dev/wm0
|