libmemif: docs md->rst

Type: improvement

Change-Id: Ibebd2d47a4268189f11601d004073e4858548f25
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
This commit is contained in:
Nathan Skrzypczak
2021-10-12 14:00:25 +02:00
committed by Dave Wallace
parent 87e90830b8
commit 8acc5ee907
10 changed files with 652 additions and 494 deletions

View File

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