Hi Dpdk users,

I coded a program which will create 3 lcores



                         |——————recv packet then enqueue                        
 lcore 1
                         |
———————|——————dequeue then do something                   lcore 2
                         |
                         |——————only recv from another port then tx             
  lcore 3

when I enqueue to the rte ring from lcore 1, I can’t dequeue in lcore 2. 

I declare the ring variable in global and call rte_ring_create() before call 
rte_eal_remote_launch(),

The rte_ring_dequeue_burst(rte_ring,&mail,1,NULL) in a for loop always return 0

The mail variable I declare is a pointer and assign mail = (char 
*)malloc(sizeof(1518));

I have checked the rte_ring variable in both lcore point to same ring (by 
checking their memory addr is same) 

Besides, the return value of rte_ring_count() after I enqueue 1 msg is 1 but at 
lcore 2 rte_ring_count() always return 0

does anyone know is there anything wrong?

thanks

Reply via email to