The Transport Library¶
This library provides transport services and socket API for applications willing to communicate using the hICN protocol stack.
Implementation of the hICN core objects (interest, data, name..) exploiting the API provided by libhicn.
Connectors for connecting the application to either the hicn-plugin or the hicn-light forwarder.
Transport protocols (RAAQM, CBR, RTC)
Transport services (authentication, integrity, segmentation, reassembly, naming)
Interfaces for applications (from low-level interfaces for interest-data interaction to high level interfaces for Application Data Unit interaction)
libmemif (linux only, if compiling with VPP support)
If you wish to use the library for connecting to the vpp hicn-plugin, you will need to also install vpp, the vpp libraries and the libmemif libraries:
You can get them either from from the vpp packages ot the source code. Check the VPP wiki for instructions.
We recommend to use HomeBrew for installing the libasio dependency:
brew install asio
Download, compile and install libparc:
git clone -b cframework/master https://gerrit.fd.io/r/cicn cframework && cd cframework mkdir -p libparc.build && cd libparc.build cmake ../libparc make make install
Libparc will be installed by default under
Since VPP does not support macOS, the hicn-plugin connector is not built.
Build the library¶
From the project root folder:
cd libtransport mkdir build && cd build cmake .. make
The build process can be customized with the following options:
CMAKE_INSTALL_PREFIX: The path where you want to install the library.
CMAKE_BUILD_TYPE: The build configuration. Options:
Debug. Default is
ASIO_HOME: The folder containing the libasio headers.
LIBPARC_HOME: The folder containing the libparc headers and libraries.
VPP_HOME: The folder containing the installation of VPP.
LIBMEMIF_HOME: The folder containing the libmemif headers and libraries.
BUILD_MEMIF_CONNECTOR: On linux, set this value to
ONfor building the VPP connector.
An option can be set using cmake -D
Install the library¶
For installing the library, from the cmake build folder:
sudo make install