diff options
author | Jakub Grajciar <jgrajcia@cisco.com> | 2019-07-01 14:24:48 +0200 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2019-07-02 14:06:46 +0000 |
commit | 12df497bb6b7f60513f48c0dacca9ad99d717192 (patch) | |
tree | 71b219bc3a369a54fe119a65b1597c2d03337b86 /extras/libmemif/docs | |
parent | 312758f9af526d3d498219cf84e58887d6740687 (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.md | 58 |
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 |