blob: f7770fc7fa4729a0bca3c8b6ad6f999983d56312 [file] [log] [blame]
Nathan Skrzypczak8acc5ee2021-10-12 14:00:25 +02001.. _libmemif_build_doc:
2
3Build Instructions
4==================
5
6Install dependencies
7--------------------
8
9::
10
Jakub Grajciare74c04f2021-01-04 11:28:33 +010011 sudo apt-get install -y git cmake autoconf pkg_config libtool
Nathan Skrzypczak8acc5ee2021-10-12 14:00:25 +020012
13Libmemif is now part of VPP repository. Follow fd.io wiki to pull source
14code from VPP repository.
15https://wiki.fd.io/view/VPP/Pulling,_Building,_Running,_Hacking_and_Pushing_VPP_Code#Pushing_Patches
16
Jakub Grajciare74c04f2021-01-04 11:28:33 +010017Libmemif is located under extras/libmemif. From the vpp workspace root directory::
Nathan Skrzypczak8acc5ee2021-10-12 14:00:25 +020018
Jakub Grajciare74c04f2021-01-04 11:28:33 +010019 mkdir -p extras/libmemif/build
20 cd extras/libmemif/build
21 cmake ..
22 make install
Nathan Skrzypczak8acc5ee2021-10-12 14:00:25 +020023
24Verify installation:
25--------------------
26
27::
28
Jakub Grajciare74c04f2021-01-04 11:28:33 +010029 ./examples/icmp_responder -?
Nathan Skrzypczak8acc5ee2021-10-12 14:00:25 +020030
Jakub Grajciare74c04f2021-01-04 11:28:33 +010031Use ``-?`` flag to display help::
Nathan Skrzypczak8acc5ee2021-10-12 14:00:25 +020032
Jakub Grajciare74c04f2021-01-04 11:28:33 +010033 LIBMEMIF EXAMPLE APP: icmp_responder_example
34 ==============================
35 libmemif version: 4.0, memif version: 2.0
36 ==============================
37 In this example, memif endpoint connects to an external application.
38 The example application can resolve ARP and reply to ICMPv4 packets.
39 The program will exit once the interface is disconnected.
40 ==============================
41 Usage: icmp_responder [OPTIONS]
Nathan Skrzypczak8acc5ee2021-10-12 14:00:25 +020042
Jakub Grajciare74c04f2021-01-04 11:28:33 +010043 Options:
44 -r Interface role <slave|master>. Default: slave
45 -s Socket path. Supports abstract socket using @ before the path. Default: /run/vpp/memif.sock
46 -i Interface id. Default: 0
47 -a IPv4 address. Default: 192.168.1.1
48 -h Mac address. Default: aa:aa:aa:aa:aa:aa
49 -? Show help and exit.
50 -v Show libmemif and memif version information and exit.
Nathan Skrzypczak8acc5ee2021-10-12 14:00:25 +020051
Jakub Grajciare74c04f2021-01-04 11:28:33 +010052Use Cases
53---------
Nathan Skrzypczak8acc5ee2021-10-12 14:00:25 +020054
Jakub Grajciare74c04f2021-01-04 11:28:33 +010055Once the library is built/installed, refer to :ref:`libmemif_gettingstarted_doc`
56and :ref:`libmemif_examples_doc` for additional information on basic use cases
57and API usage.