Tip
This is the documentation for the 19.02 version. Looking for the documentation of the latest version? Have a look here.
- orphan:
Shared Memory Packet Interfaces (memif)ΒΆ
A Shared Memory Packet Interface (memif) has two components: A socket and an
interface. A memif also requires a role
, either master
or slave
. In
most TNSR applications, it will be the master and the other endpoint will be a
slave. A single socket may only be associated with one role type.
The interface memif socket
command requires an identifier number and a filename, both
of which must be unique to this socket. For example, to create a socket with an
ID of 23
, using a socket file of /tmp/memif23.sock
, run this command:
tnsr(config)# interface memif socket id 23 filename /tmp/memif23.sock
Next, the interface memif interface
command creates a memif object. This command
requires its own identifier, and it must be tied to the socket using the same ID
from the previous command:
tnsr(config)# interface memif interface 100
tnsr(config-memif)# socket-id 23
tnsr(config-memif)# role master
tnsr(config-memif)# exit
At this point, an interface is available in TNSR. The name of this interface
is composed of the socket ID and the interface ID:
interface memif<socket id>/<interface id>
. In this example with a socket ID of 23
and an interface ID of 100
, the full interface name is memif23/100
.
For a list of all current memif entries, along with their names and
configuration, use the show interface memif
command:
tnsr# show interface memif
Socket Id Filename
---------- --------------------------------------------------
0 /run/vpp/memif.sock
23 /tmp/memif23.sock
memif id: 100
Memif name: memif23/100
Interface: memif23/100
Role: master
Mode: ethernet
MAC address: 02:fe:8c:e5:ce:06
Socket id: 23
Ring size: 0
Buffer size: 0
Admin up: false
Link up: false