[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Cogent 637 board



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
</shameless plug>.

I still don't understand why it didn't happen in 4.6, though.