libmemif: refactor examples
[vpp.git] / extras / libmemif / docs / buildinstructions_doc.rst
1 .. _libmemif_build_doc:
2
3 Build Instructions
4 ==================
5
6 Install dependencies
7 --------------------
8
9 ::
10
11     sudo apt-get install -y git cmake autoconf pkg_config libtool
12
13 Libmemif is now part of VPP repository. Follow fd.io wiki to pull source
14 code from VPP repository.
15 https://wiki.fd.io/view/VPP/Pulling,_Building,_Running,_Hacking_and_Pushing_VPP_Code#Pushing_Patches
16
17 Libmemif is located under extras/libmemif. From the vpp workspace root directory::
18
19     mkdir -p extras/libmemif/build
20     cd extras/libmemif/build
21     cmake ..
22     make install
23
24 Verify installation:
25 --------------------
26
27 ::
28
29     ./examples/icmp_responder -?
30
31 Use ``-?`` flag to display help::
32
33     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]
42
43     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.
51
52 Use Cases
53 ---------
54
55 Once the library is built/installed, refer to :ref:`libmemif_gettingstarted_doc`
56 and :ref:`libmemif_examples_doc` for additional information on basic use cases
57 and API usage.