summaryrefslogtreecommitdiffstats
path: root/extras/libmemif/libmemif_doc.rst
diff options
context:
space:
mode:
authorNathan Skrzypczak <nathan.skrzypczak@gmail.com>2021-10-12 14:00:25 +0200
committerDave Wallace <dwallacelf@gmail.com>2021-10-13 15:30:03 +0000
commit8acc5ee9079d0b03229a72e72a5308e7de0a359a (patch)
treeba3e5789abc2c3cd4edd9806fc44991c45d705f1 /extras/libmemif/libmemif_doc.rst
parent87e90830b8931b4c55526bf7cb5a148a10df061f (diff)
libmemif: docs md->rst
Type: improvement Change-Id: Ibebd2d47a4268189f11601d004073e4858548f25 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Diffstat (limited to 'extras/libmemif/libmemif_doc.rst')
-rw-r--r--extras/libmemif/libmemif_doc.rst67
1 files changed, 67 insertions, 0 deletions
diff --git a/extras/libmemif/libmemif_doc.rst b/extras/libmemif/libmemif_doc.rst
new file mode 100644
index 00000000000..a6478cfa89e
--- /dev/null
+++ b/extras/libmemif/libmemif_doc.rst
@@ -0,0 +1,67 @@
+.. _libmemif_doc:
+
+Shared Memory Packet Interface (memif) Library
+==============================================
+
+Features
+--------
+
+- ✅ Slave mode
+
+ - ✅ Connect to VPP over memif
+ - ✅ ICMP responder example app
+
+- ✅ Transmit/receive packets
+- ✅ Interrupt mode support
+- ✅ File descriptor event polling in libmemif (optional)
+
+ - ✅ Simplify file descriptor event polling (one handler for control
+ and interrupt channel)
+
+- ✅ Multiple connections
+- ✅ Multiple queues
+
+ - ✅ Multi-thread support
+
+- ✅ Master mode
+
+ - ✅ Multiple regions
+
+- ✅ Loopback
+
+Quickstart
+----------
+
+This setup will run libmemif ICMP responder example app in container.
+Install `docker <https://docs.docker.com/engine/installation>`__ engine.
+Useful link: `Docker
+documentation <https://docs.docker.com/get-started>`__.
+
+Build the docker image:
+
+::
+
+ # docker build . -t libmemif
+
+Now you should be able to see libmemif image on your local machine:
+
+::
+
+ # docker images
+ REPOSITORY TAG IMAGE ID CREATED SIZE
+ libmemif latest 32ecc2f9d013 About a minute ago 468MB
+ ...
+
+Run container:
+
+::
+
+ # docker run -it --rm --name icmp-responder --hostname icmp-responder --privileged -v "/run/vpp/:/run/vpp/" libmemif
+
+The interface will by default connect to a master interface listening on
+``/run/vpp/master.sock``. The example will handle ARP requests and
+respond to ICMPv4 requests to ``192.168.1.1``.
+
+Continue with :ref:`libmemif_example_setup_doc` which contains instructions on
+how to set up connection between icmpr-epoll example app and VPP-memif.
+