Cogent 637 board
jtm at smoothsmoothie.com
Thu Nov 10 15:11:26 UTC 2005
Camilo Alejandro Arboleda wrote:
> It works now. But I have a question: do we know for sure that m_data is
> miss aligned? Shouldn't we test it first?
Yes, I know for sure. Actually it's not m_data that is misaligned.
When I allocate the mbuf and cluster, m_data is 4-byte aligned. The ethernet
packet gets copied into it, starting at the beginning of the buffer, so the
ethernet header is 4-byte aligned. Since the IP header immediately follows the
ethernet header and ethernet headers are 14 (or is it 18?) bytes long, the IP
header is not 4-byte aligned.
I was able to find this using a debugger - <shameless plug> an Abatron BDI-2000
I still don't understand why it didn't happen in 4.6, though.
More information about the users