-
Notifications
You must be signed in to change notification settings - Fork 5
Traffic generation
valebru edited this page Jun 8, 2018
·
3 revisions
We used two traffic generators:
- Dpdk pktgen
- MoonGen
The majority of the lua scripts in vpp-bench are meant to be used with DPDK pktgen, except where specified differently.
In addition to DPDK pktgen, MoonGen allows us to perform some advanced measurements such as latency, and some interesting traffic setup such as Poisson arrivals.
cd $RTE_SDK/usertools
./dpdk-setup.sh
------------------------------------------------------------------------------
RTE_SDK exported as /tmp/dpdk/dpdk-17.02
------------------------------------------------------------------------------
----------------------------------------------------------
Step 1: Select the DPDK environment to build
----------------------------------------------------------
[1] arm64-armv8a-linuxapp-gcc
[2] arm64-dpaa2-linuxapp-gcc
[3] arm64-thunderx-linuxapp-gcc
[4] arm64-xgene1-linuxapp-gcc
[5] arm-armv7a-linuxapp-gcc
[6] i686-native-linuxapp-gcc
[7] i686-native-linuxapp-icc
[8] ppc_64-power8-linuxapp-gcc
[9] tile-tilegx-linuxapp-gcc
[10] x86_64-native-bsdapp-clang
[11] x86_64-native-bsdapp-gcc
[12] x86_64-native-linuxapp-clang
[13] x86_64-native-linuxapp-gcc
[14] x86_64-native-linuxapp-icc
[15] x86_x32-native-linuxapp-gcc
----------------------------------------------------------
Step 2: Setup linuxapp environment
----------------------------------------------------------
[16] Insert IGB UIO module
[17] Insert VFIO module
[18] Insert KNI module
[19] Setup hugepage mappings for non-NUMA systems
[20] Setup hugepage mappings for NUMA systems
[21] Display current Ethernet/Crypto device settings
[22] Bind Ethernet/Crypto device to IGB UIO module
[23] Bind Ethernet/Crypto device to VFIO module
[24] Setup VFIO permissions
----------------------------------------------------------
Step 3: Run test application for linuxapp environment
----------------------------------------------------------
[25] Run test application ($RTE_TARGET/app/test)
[26] Run testpmd application in interactive mode ($RTE_TARGET/app/testpmd)
----------------------------------------------------------
Step 4: Other tools
----------------------------------------------------------
[27] List hugepage info from /proc/meminfo
----------------------------------------------------------
Step 5: Uninstall and system cleanup
----------------------------------------------------------
[28] Unbind devices from IGB UIO or VFIO driver
[29] Remove IGB UIO module
[30] Remove VFIO module
[31] Remove KNI module
[32] Remove hugepage mappings
[33] Exit Script
Option:
thus, you should run these three options in this order:
- (if it is the first time) [13] x86_64-native-linuxapp-gcc
- [28] Unbind devices from IGB UIO or VFIO driver
- [16] Insert IGB UIO module
- [22] Bind Ethernet/Crypto device to IGB UIO module