Thanks, -march=native fixed that. Now I get a segfault when calling rte_eth_tx_queue_setup:
PMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7fff755efa40 hw_ring=0x7fff755efe80 dma_addr=0x2005befe80 Program received signal SIGSEGV, Segmentation fault. 0x00007ffff6798aad in malloc_consolidate () from /lib64/libc.so.6 Missing separate debuginfos, use: debuginfo-install glibc-2.17-106.el7_2.4.x86_64 libconfig-1.4.9-5.el7.x86_64 libgcc-4.8.5-4.el7.x86_64 libstdc++-4.8.5-4.el7.x86_64 (gdb) backtrace #0 0x00007ffff6798aad in malloc_consolidate () from /lib64/libc.so.6 #1 0x00007ffff679aea5 in _int_malloc () from /lib64/libc.so.6 #2 0x00007ffff679d334 in calloc () from /lib64/libc.so.6 #3 0x00007ffff6790ed3 in open_memstream () from /lib64/libc.so.6 #4 0x00007ffff680d23a in __vsyslog_chk () from /lib64/libc.so.6 #5 0x00007ffff680d79f in syslog () from /lib64/libc.so.6 #6 0x00007ffff7970922 in console_log_write () from dpdk/dpdk-2.2.0/x86_64-native-linuxapp-gcc/lib/libdpdk.so #7 0x00007ffff6788a51 in _IO_cookie_write () from /lib64/libc.so.6 #8 0x00007ffff67947ec in __GI__IO_do_write () from /lib64/libc.so.6 #9 0x00007ffff6792be0 in __GI__IO_file_sync () from /lib64/libc.so.6 #10 0x00007ffff6788482 in fflush () from /lib64/libc.so.6 #11 0x00007ffff7a2462e in rte_vlog () from dpdk-2.2.0/x86_64-native-linuxapp-gcc/lib/libdpdk.so #12 0x00007ffff795150b in rte_log () from dpdk-2.2.0/x86_64-native-linuxapp-gcc/lib/libdpdk.so #13 0x00007ffff794df5f in ixgbe_dev_tx_queue_setup () from dpdk/dpdk-2.2.0/x86_64-native-linuxapp-gcc/lib/libdpdk.so #14 0x00007ffff7a7ab79 in rte_eth_tx_queue_setup () from dpdk/dpdk-2.2.0/x86_64-native-linuxapp-gcc/lib/libdpdk.so #15 0x0000000000404728 in app::DpdkMgr::ConfigurePorts (this=this at entry=0x7fffffffe378, macAddr="90:E2:BA:AF:A0:B8", numQ=numQ at entry=2) at DpdkMgr.cpp:114 #16 0x000000000040299d in app::appConfigure::ConfigureDpdkPorts (this=this at entry=0x7fffffffe360) at appConfigure.cpp:155 #17 0x00000000004020af in main (argc=2, argv=<optimized out>) at appMain.cpp:40 I've tried passing in identical parameters to what l2fwd does, but it just doesn't seem to be working. I think I may end up just taking an identical makefile from the examples directory and using it since I'm not getting anywhere with this. I'm using automake, so it's a little cumbersome. On Tue, Mar 29, 2016 at 2:30 PM, Matthew Hall <mhall at mhcomputing.net> wrote: > On Tue, Mar 29, 2016 at 02:16:45PM -0700, Cliff Burdick wrote: > > Hi Matthew, sorry for the late response. I'm getting compilation errors > > when I try to do what you suggested. I should have the same headers > > included by the l2fwd example. I'm running g++ 4.8.5. Here are the new > > errors and the compilation line: > > All of those seemed to be referencing _mm_alignr_epi8 which is part of > Supplemental Streaming SIMD Extensions 3 (SSSE3). > > So you have to check GCC man page, docs, and code, to make sure whatever > flag > required for enabling Supplemental Streaming SIMD Extensions 3 (SSSE3) > instructions is present or the intrinsic function implementations (which > get > stubbed out to the assembly trampoline for the instruction named) will not > exist. > > Personally, the fact that the intrinsics don't come with a default software > implementation that raises a compile warning is one of my top hatreds > associated with the use of these instructions. I've spent hours on issues > like > this w/ my DPDK app... > > Matthew. >
