SHMIF(4)                NetBSD Kernel Interfaces Manual               SHMIF(4)

     shmif -- rump kernel shared memory network interface

     #include <rump/rump.h>

     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
          bus hold).

     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) net-

     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.

     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

     0x7ff80  for all TX/RX offload

     0x6aa80  for all TX offload

     0x15500  for all RX offload

     See /usr/include/net/if.h for more details.

     rump(3), virt(4), ifconfig(8)

NetBSD 8.0                     December 12, 2018                    NetBSD 8.0

You can also request any man page by name and (optionally) by section:


Use the DEFAULT collection to view manual pages for third-party software.

©1994 Man-cgi 1.15, Panagiotis Christias
©1996-2019 Modified for NetBSD by Kimmo Suominen