- NetBSD Manual Pages
SHMIF(4) NetBSD Kernel Interfaces Manual SHMIF(4)
Powered by man-cgi (2021-06-01).
Maintained for NetBSD
by Kimmo Suominen.
Based on man-cgi by Panagiotis Christias.
shmif -- rump shared memory network interface
rump_pub_shmif_create(const char *path, int *ifnum);
The shmif interface uses a memory mapped regular file as a virtual Ether-
net bus. All interfaces connected to the same bus see each others' traf-
Using a memory mapped regular file as a bus has two implications:
1. The bus identifier is not in flat global namespace.
2. Configuring and using the interface is possible without superuser
privileges on the host (normal host file access permissions for the
It is not possible to directly access the host networking facilities from
a rump virtual kernel using purely shmif. However, traffic can be routed
to another rump kernel instance which provides both shmif and virt(4)
An shmif interface can be created in two ways:
· Programmatically by calling rump_pub_shmif_create(). The bus path-
name is passed in path. The number of the newly created interface is
available after a successful call by dereferencing ifnum.
· Dynamically at runtime with ifconfig(8) or equivalent using the
create command. In this case the bus path must be configured with
ifconfig(8) linkstr before the interface address can be configured.
Destroying an shmif interface is possible only via ifconfig(8) destroy.
rump(3), virt(4), ifconfig(8)
NetBSD 7.0 November 17, 2010 NetBSD 7.0