Difference between revisions of "VPP/VPPCommunicationsLibrary"
From fd.io
< VPP
(Created page with "= High Speed container communications using VPP Communications Library (VCL) = Using the VPP Communications Library and an LD_PRELOAD library for standard POSIX sockets, VPP...") |
|||
Line 6: | Line 6: | ||
== HowTo == | == HowTo == | ||
− | == Prequisites == | + | === Prequisites === |
* docker (Version: 17.05) | * docker (Version: 17.05) | ||
* iperf3 (3.0.11) | * iperf3 (3.0.11) | ||
+ | * VPP: git clone https://gerrit.fd.io/r/vpp | ||
+ | * VPPSB: git clone https://gerrit.fd.io/r/vppsb | ||
− | + | == Environment Setup and Building == | |
* Clone VPP and the VPPSB projects. | * Clone VPP and the VPPSB projects. | ||
Line 42: | Line 44: | ||
− | + | == Running the demo == | |
* Run test script without parameters to see help menu: | * Run test script without parameters to see help menu: | ||
Line 49: | Line 51: | ||
./socket_test.sh | ./socket_test.sh | ||
− | + | === Docker iPerf examples === | |
These demos launch xterms, and have been tested on Ubuntu16.04. | These demos launch xterms, and have been tested on Ubuntu16.04. | ||
To quit, close xterms and run following docker kill command | To quit, close xterms and run following docker kill command |
Revision as of 22:08, 31 August 2017
Contents
High Speed container communications using VPP Communications Library (VCL)
Using the VPP Communications Library and an LD_PRELOAD library for standard POSIX sockets, VPP can demonstrate a 2.75x speed improvement over traditional Linux bridge.
HowTo
Prequisites
- docker (Version: 17.05)
- iperf3 (3.0.11)
- VPP: git clone https://gerrit.fd.io/r/vpp
- VPPSB: git clone https://gerrit.fd.io/r/vppsb
Environment Setup and Building
- Clone VPP and the VPPSB projects.
- Edit vppsb/vcl-ldpreload/env.sh
- Set VCL_BASE to directory above VPP and VPPSB source. Leave all other env vars in this file alone.
source ./env.sh
- Change to VPP source directory and build
cd $VPP_DIR
- Modify uri.am to enable socket_test program
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
- 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
Running the demo
- Run test script without parameters to see help menu:
cd $VPP_DIR/test/scripts ./socket_test.sh
Docker iPerf examples
These demos launch xterms, and have been tested on Ubuntu16.04. To quit, close xterms and run following docker kill command
WARNING: This will kill all docker containers on your system. The command below is deliberately commented out to protect the innocent, and copypasta-happy.
#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