Deepak,

I don’t know what platform you’re running on that doesn’t support SSE4.2, but 
just in case it’s a VirtualBox VM running on a computer with a physical CPU 
that DOES support SSE4.2, take a look at 
https://www.virtualbox.org/manual/ch09.html#sse412passthrough


From: Dev [mailto:dev-boun...@lists.opencontrail.org] On Behalf Of Deepak Tiwari
Sent: Monday, April 10, 2017 01:57
To: Rajagopalan Sivaramakrishnan <r...@juniper.net>; dev@lists.opencontrail.org
Subject: Re: [opencontrail-dev] Need help in setting up vRouter in DPDK-enabled 
mode

Hi Raja,

As I updated last week, I am no longer getting this error (after I switched 
from trunk to 3.2 and back to trunk) now for some unknown reason. Now when I 
start the contrail-dpdk binary, I get following error—

contrail@contrail-23:~/dev/contrail-installer$ /usr/bin/contrail-vrouter-dpdk 
--no-daemon --socket-mem 1024,1024
ERROR: this system does not support “SSE4_2”.
Please check that RTE_MACHINE is set correctly.

After debugging the root-cause of above issue, I found that in file 
“third_party/dpdk/mk/machine/native/rte.vars.mk”, following check (marked in 
red) is missing. I came to this conclusion because—


1.       On my setup, compiler doesn’t report SSE4_2 support

a.       checked with command “gcc -march=native -dM -E - < /dev/null | grep 
SSE4_2”



2.       File “/var/run/dmesg.boot” is not present

Based on above points and following code, “MACHINE_CFLAGS” will get set to 
“-march=corei7”

# on FreeBSD systems, sometimes the correct cputype is not picked up.
# To get everything to compile, we need SSE4.2 support, so check if that is
# reported by compiler. If not, check if the CPU actually supports it, and if
# so, set the compilation target to be a corei7, minimum target with SSE4.2
SSE42_SUPPORT=$(shell $(CC) -march=native -dM -E - < /dev/null | grep SSE4_2)
ifeq ($(SSE42_SUPPORT),)
  CPU_SSE42_SUPPORT=$(shell if [ -f /var/run/dmesg.boot ] ; then grep SSE4\.2 
/var/run/dmesg.boot ; fi)
  ifneq ($(CPU_SSE42_SUPPORT),)
    MACHINE_CFLAGS= -march=corei7
  endif
endif

Ref: 
http://dpdk.org/ml/archives/dev/2014-July/004053.html<https://urldefense.proofpoint.com/v2/url?u=http-3A__dpdk.org_ml_archives_dev_2014-2DJuly_004053.html&d=DwMGaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=xtmPik_TP2fjPVGWP4yBRQ&m=aZEDgF0tlbar805wM4Q3Wv9REl7NtxOKgv3pc4OCP8o&s=qjrS29TkRD7cXDCmax9ogrKEVhswY9qaazFj8wui3S4&e=>

So I added above additional code as highlighted in RED. Recompiled DPDK library 
as well as contrail-vrouter-dpdk binary and tried to run it. However still same 
error is received

Br, Deepak

_______________________________________________
Dev mailing list
Dev@lists.opencontrail.org
http://lists.opencontrail.org/mailman/listinfo/dev_lists.opencontrail.org

Reply via email to