Hi,

I am seeing an MBUF issue between two threads communicating using a Ring of 
MBUFs. I would appreciate if someone can tell if this is correct method to 
accomplish this:


1.       Master Core creates MBUF pool and a ring.

2.       An EAL Transmit thread polls this Ring

3.       A NON EAL threads allocates a MBUF from this pool and queues in the 
ring

4.       EAL Transmit thread deques and transmits the MBUF

Here is the issue I am seeing:
In NON EAL Thread where MBUF is allocated, the mbuf dump shows :
dump mbuf at 0x7f3b9339aa80, phys=11339ab00, buf_len=2176
  pkt_len=34, ol_flags=f0000000000000, nb_segs=1, in_port=1
  segment at 0x7f3b9339aa80, data=0x7f3b9339ab80, data_len=34

In Transmit thread on dequeuing;
dump mbuf at 0x7f3b9339ab00, phys=0, buf_len=0
  pkt_len=0, ol_flags=0, nb_segs=0, in_port=0

So mbuf address is messed up and none of the other values are good. Any idea, 
suggestion most welcome. Should I be only using EAL thread to send to Ring but 
that is highly limiting in design

Regards,
Neeraj

Reply via email to