Project Home
Project Home
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
BroadcastCommunity.qnx.com will be offline from May 31 6:00pm until June 2 12:00AM for upcoming system upgrades. For more information please go to https://community.qnx.com/sf/discussion/do/listPosts/projects.bazaar/discussion.bazaar.topc28418
Forum Topic - getting mbuf physical address: Page 1 of 6 (6 Items)
   
getting mbuf physical address  
Hi,

I have a problem regarding getting mbuf physical address. In transmission, for example, when got a network packet, I 
added some additional packet descriptor info into the M_LEADINGSPACE,  between m->pkt_dat and m->m_data. I then need to 
get the physical address starting from the packet descriptor in order for DMA operation. My assumption is that the mbuf 
as a whole is in a contiguous buffer, or at least the buffer between m->pkt_data to the end of m->m_data is. Am I 
correct?

Based on my assumption, I used mem_offset64 to get the physical address of the starting point, i.e., m->pkt_data + 
alignment offset. It seems not getting the correct one. I noticed that there is mbuf_phys, but that seems, from the code
, only get the m->m_data physical address, not the one that I need. 

I have a workaround to copy the mbuf into a contiguous buffer. But I fear for the performance impact.

Any suggestions?

Thanks,

Yurong