From 8acc5ee9079d0b03229a72e72a5308e7de0a359a Mon Sep 17 00:00:00 2001 From: Nathan Skrzypczak Date: Tue, 12 Oct 2021 14:00:25 +0200 Subject: libmemif: docs md->rst Type: improvement Change-Id: Ibebd2d47a4268189f11601d004073e4858548f25 Signed-off-by: Nathan Skrzypczak --- extras/libmemif/libmemif_doc.rst | 67 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 extras/libmemif/libmemif_doc.rst (limited to 'extras/libmemif/libmemif_doc.rst') 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 `__ engine. +Useful link: `Docker +documentation `__. + +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. + -- cgit 1.2.3-korg