F-Stack / f-stack

F-Stack is an user space network development kit with high performance based on DPDK, FreeBSD TCP/IP stack and coroutine API.
http://www.f-stack.org
Other
3.86k stars 896 forks source link

Assertion `lcore_id < RTE_MAX_LCORE' failed #616

Open mincymathew opened 3 years ago

mincymathew commented 3 years ago

I have the following settings in the f-stack.conf.

dpdk

lcore_mask=2

channel=4

promiscuous=1
numa_on=1

tx_csum_offoad_skip=0

tso=0

vlan_strip=1

idle_sleep=0

pkt_tx_delay=100

symmetric_rss=0

These are the logs from running f-stack in my application. It

Calling ff_init /etc/f-stack.conf

EAL: Detected 72 lcore(s) EAL: Detected 2 NUMA nodes EAL: Multi-process socket /var/run/dpdk/rte/mp_socket EAL: Selected IOVA mode 'PA' EAL: 4096 hugepages of size 2097152 reserved, but no mounted hugetlbfs found for that size f-stack -c4 -n4 --proc-type=primary EAL: Probing VFIO support... EAL: VFIO support initialized EAL: Cannot open /dev/vfio/28: Device or resource busy EAL: Failed to open group 28 EAL: Requested device 0000:19:00.0 cannot be used EAL: Cannot open /dev/vfio/29: Device or resource busy EAL: Failed to open group 29 EAL: Requested device 0000:19:00.1 cannot be used EAL: Probe PCI driver: net_i40e (8086:1583) device: 0000:5e:00.0 (socket 0) EAL: Probe PCI driver: net_i40e (8086:1583) device: 0000:5e:00.1 (socket 0) EAL: Probe PCI driver: net_i40e (8086:1572) device: 0000:d8:00.0 (socket 1) EAL: Probe PCI driver: net_i40e (8086:1572) device: 0000:d8:00.1 (socket 1) EAL: Probe PCI driver: net_i40e (8086:1572) device: 0000:d8:00.2 (socket 1) EAL: Probe PCI driver: net_i40e (8086:1572) device: 0000:d8:00.3 (socket 1) EAL: No legacy callbacks, legacy socket not created lcore: 2, port: 0, queue: 0 create mbuf pool on socket 0 create ring:dispatch_ring_p0_q0 success, 2047 ring entries are now free! Port 0 MAC: 40 a6 b7 3b 68 80 Port 0 modified RSS hash function based on hardware support,requested:0x3ffffc configured:0x7ef8 RX checksum offload supported TX ip checksum offload supported TX TCP&UDP checksum offload supported TSO is disabled port[0]: rss table size: 512 set port 0 to promiscuous mode ok

Checking link statusdone Port 0 Link Up - speed 40000 Mbps - full-duplex link_elf_lookup_symbol: missing symbol hash table link_elf_lookup_symbol: missing symbol hash table Timecounters tick every 10.000 msec Timecounter "ff_clock" frequency 100 Hz quality 1 f-stack-0: No addr6 config found. f-stack-0: Ethernet address: 40:a6:b7:3b:68:80

: ../lib/librte_timer/rte_timer.c:674: __rte_timer_manage: Assertion `lcore_id < RTE_MAX_LCORE' failed.

Can you please tell me what I am doing wrong here?

jfb8856606 commented 3 years ago

I dont now what you has modify, but it sees the APP use a wrong F-Stack.conf?

Your F-Stack.conf shows

I have the following settings in the f-stack.conf.

[dpdk]

lcore_mask=2

But your app shows:

Calling ff_init /etc/f-stack.conf

jfb8856606 commented 3 years ago

If your dpdk tot compiled on this server, see the value of RTE_MAX_LCORE in rte_config.h .

mincymathew commented 3 years ago

RTE_MAX_LCORE is 128 . But the lcore_id is -1 at runtime. My f-stack conf is now as follows: lcore_mask=0xc000

port_list=0,1

[port0]
addr=192.168.1.2
netmask=255.255.225.0
broadcast=192.168.1.255
gateway=192.168.1.1

[port1]
addr=192.168.1.2
netmask=255.255.225.0
broadcast=192.168.1.255
gateway=192.168.1.1

lcore_list=14,15