diff options
Diffstat (limited to 'extras/libmemif/docs/buildinstructions_doc.rst')
-rw-r--r-- | extras/libmemif/docs/buildinstructions_doc.rst | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/extras/libmemif/docs/buildinstructions_doc.rst b/extras/libmemif/docs/buildinstructions_doc.rst new file mode 100644 index 00000000000..6609f7a1926 --- /dev/null +++ b/extras/libmemif/docs/buildinstructions_doc.rst @@ -0,0 +1,77 @@ +.. _libmemif_build_doc: + +Build Instructions +================== + +Install dependencies +-------------------- + +:: + + sudo apt-get install -y git cmake autoconf pkg_config libtool + +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 + +Libmemif is located under extras/libmemif. From the vpp workspace root directory:: + + mkdir -p extras/libmemif/build + cd extras/libmemif/build + cmake .. + make install + +Verify installation: +-------------------- + +:: + + ./examples/icmp_responder -? + +Use ``-?`` flag to display help:: + + LIBMEMIF EXAMPLE APP: icmp_responder_example + ============================== + libmemif version: 4.0, memif version: 2.0 + ============================== + In this example, memif endpoint connects to an external application. + The example application can resolve ARP and reply to ICMPv4 packets. + The program will exit once the interface is disconnected. + ============================== + Usage: icmp_responder [OPTIONS] + + Options: + -r Interface role <slave|master>. Default: slave + -s Socket path. Supports abstract socket using @ before the path. Default: /run/vpp/memif.sock + -i Interface id. Default: 0 + -a IPv4 address. Default: 192.168.1.1 + -h Mac address. Default: aa:aa:aa:aa:aa:aa + -? Show help and exit. + -v Show libmemif and memif version information and exit. + +Running tests: +-------------- + +Tests needs to their proper functioning Unity framework which is depended externally and cloned from official git repository:: + + mkdir -p extras/libmemif/build + cd extras/libmemif/build + cmake .. + make + ctest + +``ctest`` will execute the tests and print out brief information about test suites with their statuses. + +In case we want verbose: :: + + ctest --verbose + ctest --extra-verbose + +If there are any needs to debug tests, just add to cmake command ``-DCMAKE_BUILD_TYPE=Debug`` flag. + +Use Cases +--------- + +Once the library is built/installed, refer to :ref:`libmemif_gettingstarted_doc` +and :ref:`libmemif_examples_doc` for additional information on basic use cases +and API usage. |