unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (NetBSD-6.1.5)
Page:
Section:
Apropos / Subsearch:
optional field

SHMIF(4)                   Kernel Interfaces Manual                   SHMIF(4)

NAME
     shmif -- rump shared memory network interface

SYNOPSIS
     #include <&lt;rump/rump.h>&gt;

     int
     rump_pub_shmif_create(const char *path, int *ifnum);

DESCRIPTION
     The 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:

     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 virtual 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:

     o   Programmatically by calling 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.

     o   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.

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

NetBSD 6.1.5                   November 17, 2010                  NetBSD 6.1.5