summaryrefslogtreecommitdiffstats
path: root/extras/libmemif/docs
diff options
context:
space:
mode:
authorJakub Grajciar <jgrajcia@cisco.com>2019-07-01 14:24:48 +0200
committerDamjan Marion <dmarion@me.com>2019-07-02 14:06:46 +0000
commit12df497bb6b7f60513f48c0dacca9ad99d717192 (patch)
tree71b219bc3a369a54fe119a65b1597c2d03337b86 /extras/libmemif/docs
parent312758f9af526d3d498219cf84e58887d6740687 (diff)
libmemif: version 3.0
Add support for multi-thread connection establishment. - control_fd_update() callback now passes private context associated with updated file descriptor. File descriptor can belong to memif socket, memif connection or timerfd. In case of timerfd the context is NULL. - memif_create_socket() new API. Creates memif socket handle to be passed to memif_create() in memif_conn_args_t. This API allows to pass private context whenever the file descriptor is updated. - memif_delete_socket() new API. Deletes memif socket. Socket must not be in use by any interface. Type: feature Change-Id: I7ca4e4349595d4477195f1c32403d3e3a6eb5361 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Diffstat (limited to 'extras/libmemif/docs')
-rw-r--r--extras/libmemif/docs/buildinstructions_doc.md58
1 files changed, 26 insertions, 32 deletions
diff --git a/extras/libmemif/docs/buildinstructions_doc.md b/extras/libmemif/docs/buildinstructions_doc.md
index a226856b2b6..c2eecba4d96 100644
--- a/extras/libmemif/docs/buildinstructions_doc.md
+++ b/extras/libmemif/docs/buildinstructions_doc.md
@@ -1,53 +1,47 @@
## Build Instructions {#libmemif_build_doc}
-Install dependencies
+#### Install dependencies
```
-# sudo apt-get install -y git autoconf pkg_config libtool check
+# sudo apt-get install -y git cmake autoconf pkg_config libtool check
```
Libmemif is now part of VPP repository. Follow fd.io wiki to pull source code from VPP repository.
[https://wiki.fd.io/view/VPP/Pulling,_Building,_Running,_Hacking_and_Pushing_VPP_Code#Pushing_Patches](https://wiki.fd.io/view/VPP/Pulling,_Building,_Running,_Hacking_and_Pushing_VPP_Code#Pushing_Patches)
-Libmemif is located under extras/libmemif.
-For debug build:
+Libmemif is located under extras/libmemif. From extras/libmemif:
```
-# ./bootstrap
-# ./configure
-# make
+# mkdir build
+# cd build
+# cmake ..
# make install
```
-For release build:
+#### Verify installation:
```
-# ./bootstrap
-# ./configure
-# make release
-# make install
-```
-Verify installation:
+build# ./examples/icmpr-epoll
```
-# ./.libs/icmpr-epoll
-```
-> Make sure to run the binary file from ./.libs. File ./icmp\_responder in libmemif root directory is script that links the library, so it only verifies successful build. Default install path is /usr/lib.
Use _help_ command to display build information and commands:
```
-ICMP_Responder:add_epoll_fd:233: fd 0 added to epoll
-ICMP_Responder:add_epoll_fd:233: fd 5 added to epoll
-LIBMEMIF EXAMPLE APP: ICMP_Responder (debug)
+LIBMEMIF EXAMPLE APP: ICMP_Responder
==============================
-libmemif version: 2.0 (debug)
+libmemif version: 3.0
memif version: 512
-commands:
- help - prints this help
- exit - exit app
- conn <index> <mode> [<interrupt-desc>] - create memif. index is also used as interface id, mode 0 = slave 1 = master, interrupt-desc none = default 0 = if ring is full wait 1 = handle only ARP requests
- del <index> - delete memif
- show - show connection details
- ip-set <index> <ip-addr> - set interface ip address
- rx-mode <index> <qid> <polling|interrupt> - set queue rx mode
- sh-count - print counters
- cl-count - clear counters
- send <index> <tx> <ip> <mac> - send icmp
+ use CTRL+C to exit
+MEMIF DETAILS
+==============================
+ interface name: memif_connection
+ app name: ICMP_Responder
+ remote interface name:
+ remote app name:
+ id: 0
+ secret: (null)
+ role: slave
+ mode: ethernet
+ socket filename: /run/vpp/memif.sock
+ socket filename: /run/vpp/memif.sock
+ rx queues:
+ tx queues:
+ link: down
```
#### Examples