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