SHMIF(4) | Device Drivers Manual | SHMIF(4) |
shmif
—
#include <rump/rump.h>
int
rump_pub_shmif_create
(const char
*path, int *ifnum);
shmif
interface uses a memory mapped regular file as
a virtual Ethernet bus. All interfaces connected to the same bus see each
others' traffic.
Using a memory mapped regular file as a bus has two implications:
It is not possible to directly access the host networking
facilities from a rump kernel using purely shmif
.
However, traffic can be routed to another rump kernel instance which
provides both shmif
and
virt(4) networking.
An shmif
interface can be created in two
ways:
rump_pub_shmif_create
(). The bus pathname is
passed in path. The number of the newly created
interface is available after a successful call by dereferencing
ifnum.Destroying an shmif
interface is possible
only via ifconfig(8)
destroy.
An shmif
interface emulates TX/RX offload
options in software. They are specified by
ifconfig(8). Alternatively,
its if_capenable flag is directly specified by environment
variable RUMP_SHMIF_CAPENABLE
, for example:
See /usr/include/net/if.h for more details.
December 12, 2018 | NetBSD 9.4 |