From b327c2b9541381e6aade400cee50f9cf12bb52d3 Mon Sep 17 00:00:00 2001 From: "Keith Burns (alagalah)" Date: Mon, 9 Oct 2017 08:52:59 -0700 Subject: Initial push of vcl-ldpreload to extras - fix checkstyle Change-Id: I4317757258ed6a65b8fae1377f17db39375282ac Signed-off-by: Keith Burns (alagalah) Signed-off-by: shrinivasan ganapathy --- extras/vcl-ldpreload/README.md | 52 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 extras/vcl-ldpreload/README.md (limited to 'extras/vcl-ldpreload/README.md') diff --git a/extras/vcl-ldpreload/README.md b/extras/vcl-ldpreload/README.md new file mode 100644 index 00000000000..0b5378e9b48 --- /dev/null +++ b/extras/vcl-ldpreload/README.md @@ -0,0 +1,52 @@ +# vcl-ldpreload a LD_PRELOAD library that uses the VPP Communications Library (VCL). + +User can LD_PRELOAD any application that uses POSIX socket API. +This library internally uses libvppcom.so library from VPP project. + + +## HowTo + +If VPP is not installed, but rather built in a separate directory, you can use the VPP_DIR 'configure' argument. +```bash +# 1. Set environment variables for source +cd vpp/extras/vcl-ldpreload +source ./env.sh + +# 2. Change to VPP source directory and build +- Change director and modify uri.am to enable socket_test program + +cd $VPP_DIR +perl -pi -e 's/noinst_PROGRAMS/bin_PROGRAMS/g' $VPP_DIR/src/uri.am + +- Build VPP release + +make install-dep wipe-release bootstrap dpdk-install-dev build-release + +# 2. Build LD_PRELOAD library against VPP build above +## This does not install the LD_PRELOAD library in your system. +## Instead it will be referenced from the build directory set in VCL_LDPRELOAD_LIB + +cd $LDP_DIR/vcl-ldpreload/src +autoreconf -i -f +./configure VPP_DIR=$VPP_DIR +make +```bash + + +# 3. Running the demo +## Run test script without parameters to see help menu: + +cd $VPP_DIR/test/scripts +./socket_test.sh + +# 4. Docker iPerf examples. +## These launch xterms. To quit, close xterms and run following docker kill cmd (WARNING: This will kill all docker containers!) 'docker kill $(docker ps -q)' + + +## Docker iPerf using default Linux Bridge + +./socket_test.sh -bi docker-kernel + +## Docker iPerf using VPP +./socket_test.sh -bi docker-preload + -- cgit 1.2.3-korg