Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

issue regarding UDP-socket demo #48

Closed
psarupria opened this issue Sep 1, 2017 · 6 comments
Closed

issue regarding UDP-socket demo #48

psarupria opened this issue Sep 1, 2017 · 6 comments

Comments

@psarupria
Copy link

I am trying to recreate the UDP-socket demo, on a VM launched on ESX server using VMware.
my Linux version is 3.13.0-32-generic (ubuntu 14.04).
I am using dpdk-ans-ans-16.08. and dpdk version 17.02

I have bound one interface with the dpdk igb_uio module as described in the wiki.

Network devices using DPDK-compatible driver

0000:13:00.0 'VMXNET3 Ethernet Controller' drv=igb_uio unused=

Network devices using kernel driver

0000:03:00.0 'VMXNET3 Ethernet Controller' if=eth0 drv=vmxnet3 unused=igb_uio Active
0000:0b:00.0 'VMXNET3 Ethernet Controller' if=eth1 drv=vmxnet3 unused=igb_uio

Other network devices

Crypto devices using DPDK-compatible driver

Crypto devices using kernel driver

Other crypto devices

I have also assigned IP address to it using ODP and netdpcmd,

EAL: Detected 8 lcore(s)
EAL: Probing VFIO support...
EAL: PCI device 0000:03:00.0 on NUMA socket -1
EAL: probe driver: 15ad:7b0 net_vmxnet3
EAL: PCI device 0000:0b:00.0 on NUMA socket -1
EAL: probe driver: 15ad:7b0 net_vmxnet3
EAL: PCI device 0000:13:00.0 on NUMA socket -1
EAL: probe driver: 15ad:7b0 net_vmxnet3
param nb 1 ports 1
port id 0

Start to Init port
port 0:
Creating queues: rx queue number=1 tx queue number=1...
MAC Address:00:0C:29:49:A7:0F
lcore id:0, tx queue id:0, socket id:0

Allocated mbuf pool on socket 0, mbuf number: 8192

Initializing rx queues on lcore 0 ...
port id:0, rx queue id: 0, socket id:0
core mask: 1, sockets number:1, lcore number:1
start to init netdp
USER8: lcore mask 0x1
USER8: lcore id 0
USER8: lcore number 1
USER1: rte_ip_frag_table_create: allocated of 25165952 bytes at socket 0
USER8: max udp conn number: 129, udp conn number per lcore 129
USER8: max sock number: 4097, sock number per lcore 4097
USER8: Max application user: 6
register callback
add eth0 device
add IP 2020202 on device eth0
Show interface

eth0 HWaddr 00:0c:29:49:a7:0f
inet addr:2.2.2.2
inet addr:255.255.255.0
add static route

Destination Gateway Netmask Flags Iface
2.2.2.0 * 255.255.255.0 U C 0
2.2.2.5 * 255.255.255.255 U H L 0
3.3.3.0 2.2.2.5 255.255.255.0 U G 0

Checking link status done
Port 0 Link Up - speed 10000 Mbps - full-duplex
USER8: main loop on lcore 0
USER8: -- lcoreid=0 portid=0 rxqueueid=0
nb ports 1 hz: 2399998495

When I am starting the ans, I am hitting with,

EAL: Error - exiting with code: 1
Cause: rte_eth_tx_queue_setup: err=-22, port=0

./build/ans -c 0x1 -n 1 -- -p 0x1 --config="(0,0,0)"

EAL: Detected 8 lcore(s)
EAL: Probing VFIO support...
EAL: PCI device 0000:03:00.0 on NUMA socket -1
EAL: probe driver: 15ad:7b0 net_vmxnet3
EAL: PCI device 0000:0b:00.0 on NUMA socket -1
EAL: probe driver: 15ad:7b0 net_vmxnet3
EAL: PCI device 0000:13:00.0 on NUMA socket -1
EAL: probe driver: 15ad:7b0 net_vmxnet3
param nb 1 ports 1
port id 0

Start to Init port
port 0:
port name net_vmxnet3:
max_rx_queues 16: max_tx_queues:8
rx_offload_capa 29: tx_offload_capa:45
Creating queues: rx queue number=1 tx queue number=1...
MAC Address:00:0C:29:49:A7:0F
Deault-- tx pthresh:0, tx hthresh:0, tx wthresh:0, txq_flags:0x200
lcore id:0, tx queue id:0, socket id:0
Conf-- tx pthresh:36, tx hthresh:0, tx wthresh:0, txq_flags:0xfffff1ff
EAL: Error - exiting with code: 1
Cause: rte_eth_tx_queue_setup: err=-22, port=0

I am confused what am I missing here which is causing this error!!!

@bluenet13
Copy link
Member

Maybe it related to txq_flags:0xfffff1ff.
You may set txconf->txq_flags = 0;
or you try the latest dpdk-ans.

@psarupria
Copy link
Author

psarupria commented Sep 1, 2017

Thank you for the reply !!

It says that the latest dpdk-ans is compatible with:
Development environment is based on x86_64-native-linuxapp-gcc;
Linux version: 4.4.0-45-generic (Ubuntu 16.04.1 LTS).
GCC version: gcc version 5.4.0 20160609.

But I have Linux version: 3.13.0-32-generic (ubuntu 14.04). Will the latest version of dpdk-ans work fine with my configuration?

@psarupria
Copy link
Author

And with the latest version, when I run install_deps it asks me to generate librte_ans.a/librte_anssock.a separately.

./install_deps.sh

Start to generate librte_ans.a/librte_anssock.a for -mnative.
Your native march is corei7-avx.
Your native march is none of westmere/sandybridge/ivybridge/haswell/broadwell.
You may generate librte_ans.a/librte_anssock.a based on your -mnative by manual,
Or ask help from ANS develop team.
core2:Intel Core 2 CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3 and SSSE3 instruction set support.
westmere:Intel Westmere CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES and PCLMUL instruction set support.
sandybridge:Intel Sandy Bridge CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AES and PCLMUL instruction set support.
ivybridge:Intel Ivy Bridge CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AES, PCLMUL, FSGSBASE, RDRND and F16C instruction set support.
haswell:Intel Haswell CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2 and F16C instruction set support.
broadwell:Intel Broadwell CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX and PREFETCHW instruction set support.

@bluenet13
Copy link
Member

maybe it support 3.13.0-32-generic (ubuntu 14.04), but you could update your gcc to 5.4.0. the march name(corei7-avx) cloud change to another name

@psarupria
Copy link
Author

I did update my gcc version to 5.4.0, gcc (Ubuntu 5.4.1-2ubuntu1~14.04) 5.4.1 20160904
But the latest version of ans (17.08) is giving error while compilation,
dpdk-ans-ans-17.08/ans# make
LD ans
/usr/bin/ld: /root/dpdk_latest/dpdk-ans-ans-17.08/librte_ans/librte_ans.a(ans_init.o): unrecognized relocation (0x2a) in section `.text'
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
make[1]: *** [ans] Error 1
make: *** [all] Error 2

This was not the case when I was compiling with older versions of dpdk-ans. Is it because of compatibility with 14.04 version of ubuntu ?? or this seems to be some different issue.

@bluenet13
Copy link
Member

shall upgrade binutils.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants