libmemif: refactor examples
[vpp.git] / extras / libmemif / examples / example_setup_doc.rst
diff --git a/extras/libmemif/examples/example_setup_doc.rst b/extras/libmemif/examples/example_setup_doc.rst
deleted file mode 100644 (file)
index 76ce78d..0000000
+++ /dev/null
@@ -1,248 +0,0 @@
-.. _libmemif_example_setup_doc:
-
-Example setup
-=============
-
-VPP-memif master icmp_responder slave
--------------------------------------
-
-   Libmemif example app(s) use memif default socket file:
-   ``/run/vpp/memif.sock``.
-
-Run VPP and icmpr-epoll example (default example when running in
-container).
-
-   Other examples work similar to icmpr-epoll. Brief explanation can be
-   found in :ref:`libmemif_examples_doc` .
-
-VPP-side config:
-
-::
-
-   DBGvpp# create interface memif id 0 master
-   DBGvpp# set int state memif0/0 up
-   DBGvpp# set int ip address memif0/0 192.168.1.1/24
-
-icmpr-epoll:
-
-::
-
-   conn 0 0
-
-Memif in slave mode will try to connect every 2 seconds. If connection
-establishment is successful, a message will show.
-
-::
-
-   INFO: memif connected!
-
-..
-
-   Error messages like “unmatched interface id” are printed only in
-   debug mode.
-
-Check connected status. Use show command in icmpr-epoll:
-
-::
-
-   show
-   MEMIF DETAILS
-   ==============================
-   interface index: 0
-       interface ip: 192.168.1.2
-       interface name: memif_connection
-       app name: ICMP_Responder
-       remote interface name: memif0/0
-       remote app name: VPP 17.10-rc0~132-g62f9cdd
-       id: 0
-       secret:
-       role: slave
-       mode: ethernet
-       socket filename: /run/vpp/memif.sock
-       rx queues:
-           queue id: 0
-           ring size: 1024
-           buffer size: 2048
-       tx queues:
-           queue id: 0
-           ring size: 1024
-           buffer size: 2048
-       link: up
-   interface index: 1
-       no connection
-
-Use sh memif command in VPP:
-
-::
-
-   DBGvpp# sh memif
-   interface memif0/0
-     remote-name "ICMP_Responder"
-     remote-interface "memif_connection"
-     id 0 mode ethernet file /run/vpp/memif.sock
-     flags admin-up connected
-     listener-fd 12 conn-fd 13
-     num-s2m-rings 1 num-m2s-rings 1 buffer-size 0
-       master-to-slave ring 0:
-         region 0 offset 32896 ring-size 1024 int-fd 16
-         head 0 tail 0 flags 0x0000 interrupts 0
-       master-to-slave ring 0:
-         region 0 offset 0 ring-size 1024 int-fd 15
-         head 0 tail 0 flags 0x0001 interrupts 0
-
-Send ping from VPP to icmpr-epoll:
-
-::
-
-   DBGvpp# ping 192.168.1.2
-   64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=.1888 ms
-   64 bytes from 192.168.1.2: icmp_seq=3 ttl=64 time=.1985 ms
-   64 bytes from 192.168.1.2: icmp_seq=4 ttl=64 time=.1813 ms
-   64 bytes from 192.168.1.2: icmp_seq=5 ttl=64 time=.1929 ms
-
-   Statistics: 5 sent, 4 received, 20% packet loss
-
-multiple queues VPP-memif slave icmp_responder master
------------------------------------------------------
-
-Run icmpr-epoll as in previous example setup. Run VPP with startup conf,
-enabling 2 worker threads. Example startup.conf:
-
-::
-
-   unix {
-     interactive
-     nodaemon
-     full-coredump
-   }
-
-   cpu {
-     workers 2
-   }
-
-VPP-side config:
-
-::
-
-   DBGvpp# create memif id 0 slave rx-queues 2 tx-queues 2
-   DBGvpp# set int state memif0/0 up
-   DBGvpp# set int ip address memif0/0 192.168.1.1/24
-
-icmpr-epoll:
-
-::
-
-   conn 0 1
-
-When connection is established a message will print:
-
-::
-
-   INFO: memif connected!
-
-..
-
-   Error messages like “unmatched interface id” are printed only in
-   debug mode.
-
-Check connected status. Use show command in icmpr-epoll:
-
-::
-
-   show
-   MEMIF DETAILS
-   ==============================
-   interface index: 0
-       interface ip: 192.168.1.2
-       interface name: memif_connection
-       app name: ICMP_Responder
-       remote interface name: memif0/0
-       remote app name: VPP 17.10-rc0~132-g62f9cdd
-       id: 0
-       secret:
-       role: master
-       mode: ethernet
-       socket filename: /run/vpp/memif.sock
-       rx queues:
-           queue id: 0
-           ring size: 1024
-           buffer size: 2048
-           queue id: 1
-           ring size: 1024
-           buffer size: 2048
-       tx queues:
-           queue id: 0
-           ring size: 1024
-           buffer size: 2048
-           queue id: 1
-           ring size: 1024
-           buffer size: 2048
-       link: up
-   interface index: 1
-       no connection
-
-Use sh memif command in VPP:
-
-::
-
-   DBGvpp# sh memif
-   interface memif0/0
-     remote-name "ICMP_Responder"
-     remote-interface "memif_connection"
-     id 0 mode ethernet file /run/vpp/memif.sock
-     flags admin-up slave connected
-     listener-fd -1 conn-fd 12
-     num-s2m-rings 2 num-m2s-rings 2 buffer-size 2048
-       slave-to-master ring 0:
-         region 0 offset 0 ring-size 1024 int-fd 14
-         head 0 tail 0 flags 0x0000 interrupts 0
-       slave-to-master ring 1:
-         region 0 offset 32896 ring-size 1024 int-fd 15
-         head 0 tail 0 flags 0x0000 interrupts 0
-       slave-to-master ring 0:
-         region 0 offset 65792 ring-size 1024 int-fd 16
-         head 0 tail 0 flags 0x0001 interrupts 0
-       slave-to-master ring 1:
-         region 0 offset 98688 ring-size 1024 int-fd 17
-         head 0 tail 0 flags 0x0001 interrupts 0
-
-Send ping from VPP to icmpr-epoll:
-
-::
-
-   DBGvpp# ping 192.168.1.2
-   64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=.1439 ms
-   64 bytes from 192.168.1.2: icmp_seq=3 ttl=64 time=.2184 ms
-   64 bytes from 192.168.1.2: icmp_seq=4 ttl=64 time=.1458 ms
-   64 bytes from 192.168.1.2: icmp_seq=5 ttl=64 time=.1687 ms
-
-   Statistics: 5 sent, 4 received, 20% packet loss
-
-icmp_responder master icmp_responder slave
-------------------------------------------
-
-   This setup creates connection between two applications using
-   libmemif. Traffic functionality is the same as when connection to
-   VPP. App can receive ARP/ICMP request and transmit response.
-
-Run two instances of icmpr-epoll example. > If not running in container,
-make sure folder /run/vpp/ exists before creating memif master. Instance
-1 will be in master mode, instance 2 in slave mode. instance 1:
-
-::
-
-   conn 0 1
-
-instance 2:
-
-::
-
-   conn 0 0
-
-In 2 seconds, both instances should print connected! message:
-
-::
-
-   INFO: memif connected!
-
-Check peer interface names using show command.