Simon Conway(deleted)
11/11/2013 11:08 AM
post106661
|
Hi,
I am seeing corrupt packets being transmitted that I am trying to debug. About 1 in 10.
Using the driver logging, which dumps the mbuf, I see that packet data is correct.
I also added the same logging code to just before the FEC is told that the packets are ready to be transmitted.
The packets are also correct.
In transmit.c I see the lines....
...
uint32_t mbuf_phys_addr= mbuf_phys(m2);
uint16_t mbuf_phys_len = m2->m_len;
tx_bd->buffer = mbuf_phys_addr;
tx_bd->length = mbuf_phys_len;
CACHE_FLUSH(&mx51->cachectl, m2->m_data, mbuf_phys_addr, m2->m_len);
...
Is there any way to dump "tx_bd->buffer"? Its of type "uint32_t". How do I access this?
I have tried and I get either hangs or seg violation (possibly due to access being denied).
I see the corruption with tcp and udp packets.
The throughput is extremely low. 2-3 packets at a time.
Th network is private point to point (QNX to PC).
Any ideas. Help appreciated.
Thanks
Simon
|
|
|