Skip to content

Instantly share code, notes, and snippets.

@shun159
Created September 1, 2014 14:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shun159/03507ee020092921afc7 to your computer and use it in GitHub Desktop.
Save shun159/03507ee020092921afc7 to your computer and use it in GitHub Desktop.
# cat /etc/redhat-release
CentOS release 6.5 (Final)

# yum install -y kernel-headers.x86_64
# yum install -y numactl-devel.x86_64 numactl.x86_64
# yum install -y unzip make wget gcc expat-devel gmp gmp-devel ncurses ncurses-devel openssl-devel libpcap-devel byacc flex readline-devel python-devel python-paste-deploy python-paste python-twisted git python-setuptools python-setuptools libxml2-devel libxslt-devel ethtool
# easy_install pip

# reboot

# wget http://dpdk.org/browse/dpdk/snapshot/dpdk-1.7.0.tar.gz
# tar xvzf dpdk-1.7.0.tar.gz
# cd dpdk-1.7.0/
# ./tools/setup.sh

 RTE_SDK exported as /root/dpdk-1.7.0
------------------------------------------------------------------------------
----------------------------------------------------------
 Step 1: Select the DPDK environment to build
----------------------------------------------------------
[1] i686-native-linuxapp-gcc
[2] i686-native-linuxapp-icc
[3] x86_64-ivshmem-linuxapp-gcc
[4] x86_64-ivshmem-linuxapp-icc
[5] x86_64-native-bsdapp-gcc
[6] x86_64-native-linuxapp-gcc
[7] x86_64-native-linuxapp-icc

----------------------------------------------------------
 Step 2: Setup linuxapp environment
----------------------------------------------------------
[8] Insert IGB UIO module
[9] Insert VFIO module
[10] Insert KNI module
[11] Setup hugepage mappings for non-NUMA systems
[12] Setup hugepage mappings for NUMA systems
[13] Display current Ethernet device settings
[14] Bind Ethernet device to IGB UIO module
[15] Bind Ethernet device to VFIO module
[16] Setup VFIO permissions

----------------------------------------------------------
 Step 3: Run test application for linuxapp environment
----------------------------------------------------------
[17] Run test application ($RTE_TARGET/app/test)
[18] Run testpmd application in interactive mode ($RTE_TARGET/app/testpmd)

----------------------------------------------------------
 Step 4: Other tools
----------------------------------------------------------
[19] List hugepage info from /proc/meminfo

----------------------------------------------------------
 Step 5: Uninstall and system cleanup
----------------------------------------------------------
[20] Uninstall all targets
[21] Unbind NICs from IGB UIO driver
[22] Remove IGB UIO module
[23] Remove VFIO module
[24] Remove KNI module
[25] Remove hugepage mappings

[26] Exit Script

Option: 6

Option: 8

Unloading any existing DPDK UIO module
Loading DPDK UIO module

Option: 10

Unloading any existing DPDK KNI module
Loading DPDK KNI module

Option: 12

Removing currently reserved hugepages
Unmounting /mnt/huge and removing directory

  Input the number of 2MB pages for each node
  Example: to have 128MB of hugepages available per node,
  enter '64' to reserve 64 * 2MB pages on each node
Number of pages for node0: 64
Reserving hugepages
Creating /mnt/huge and mounting as hugetlbfs

Option: 13


Network devices using DPDK-compatible driver
============================================
<none>

Network devices using kernel driver
===================================
0000:00:03.0 '82540EM Gigabit Ethernet Controller' if=eth0 drv=e1000 unused=igb_uio *Active*

Other network devices
=====================
0000:00:04.0 '82540EM Gigabit Ethernet Controller' unused=e1000,igb_uio

Option: 14


Network devices using DPDK-compatible driver
============================================
<none>

Network devices using kernel driver
===================================
0000:00:03.0 '82540EM Gigabit Ethernet Controller' if=eth0 drv=e1000 unused=igb_uio *Active*

Other network devices
=====================
0000:00:04.0 '82540EM Gigabit Ethernet Controller' unused=e1000,igb_uio

Enter PCI address of device to bind to IGB UIO driver: 0000:00:04.0
OK

Option: 18


  Enter hex bitmask of cores to execute test app on
  Example: to execute app on cores 0 to 7, enter 0xff
bitmask: 7
Launching app

testpmd> show port stats all

  ######################## NIC statistics for port 0  ########################
  RX-packets: 0          RX-missed: 0          RX-bytes:  0
  RX-badcrc:  0          RX-badlen: 0          RX-errors: 0
  RX-nombuf:  0
  TX-packets: 0          TX-errors: 0          TX-bytes:  0
  ############################################################################
testpmd>  start tx_first

Warning! Cannot handle an odd number of ports with the current port topology. Configuration must be changed to have an even number of ports, or relaunch application with --port-topology=chained

  io packet forwarding - CRC stripping disabled - packets/burst=32
  nb forwarding cores=1 - nb forwarding ports=1
  RX queues=1 - RX desc=128 - RX free threshold=0
  RX threshold registers: pthresh=8 hthresh=8 wthresh=0
  TX queues=1 - TX desc=512 - TX free threshold=0
  TX threshold registers: pthresh=32 hthresh=0 wthresh=0
  TX RS bit threshold=0 - TXQ flags=0x0

testpmd> stop
Telling cores to stop...
Waiting for lcores to finish...

  ---------------------- Forward statistics for port 0  ----------------------
  RX-packets: 0              RX-dropped: 0             RX-total: 0
  TX-packets: 32             TX-dropped: 0             TX-total: 32
  ----------------------------------------------------------------------------

  +++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
  RX-packets: 0              RX-dropped: 0             RX-total: 0
  TX-packets: 32             TX-dropped: 0             TX-total: 32
  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment