Skip to content

Build more information

Hanoh Haim edited this page Nov 21, 2015 · 1 revision

NOTE: DPDK building needs SSE3/SSE4.x instruction set support and you might get a Build Error similar as follows,

"In file included from ../../src/dpdk_lib18/librte_pmd_ixgbe/ixgbe_rxtx_vec.c:41:0: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/tmmintrin.h:31:3:** error: #error "SSSE3 instruction set not enabled"** # error "SSSE3 instruction set not enabled" ../../src/dpdk_lib18/librte_pmd_ixgbe/ixgbe_rxtx_vec.c: In function ‘_recv_raw_pkts_vec’:

SSE3/SSE4.x should be present/enabled in you PC by default, except

  • 1.If its an age old PC
  • 2.Its a VM without SSE3/SSE4.x enabled.

Suggestions:

  • For 1. Google your CPU for SSE3/SSE4.x support, else try Qemu-kvm(it has capability to emulate those instruction sets,Mind you! It will impact performance of the VM ,if emulated)

  • For 2. The below steps will help only when using Qemu-Kvm or Oracle VBox

Qemu-Kvm: When creating VM add flag "-cpu host", This will pass all the know instruction sets known to the Host and also the instruction sets that Qemu can emulate to the Guest VM. To pass only required features to the guests KVM CPU TUNING

Oracle-VBox: Enable CPU flags (SSE 4.1 / SSE 4.2) in VirtualBox virtual machine. To provide SSE 4.1 / SSE 4.2 support to guest OS, the host CPU has to support these instruction sets. Starting with Oracle VirtualBox 4.3.8, it is possible to enable these instructions for certain guest OSes using the following commands:

$ VBoxManage setextradata "VM name" VBoxInternal/CPUM/SSE4.1 1

$ VBoxManage setextradata "VM name" VBoxInternal/CPUM/SSE4.2 1

Deploy DPDK in OracleVBOX