On 25 October 2016 at 08:25, Mike Belopuhov <m...@belopuhov.com> wrote:
> On 25 October 2016 at 02:34, David Gwynne <da...@gwynne.id.au> wrote:
>>> I see.  I will double check this tomorrow but your approach
>>> looks solid.
>>
>> it's obviously an interaction between intel nics that do not align
>> their ethernet headers correctly, and the M_PREPEND which i just
>> changed (and you oked) in src/sys/net/if_ethersubr.c r1.240).
>>
>> basically the stack strips the 6 byte ethernet header before pushing
>> the packet into the ip stack, and forwarding causes it to be output
>> as an ethernet packet. the M_PREPEND of 8 bytes in ether_output
>> causes an mbuf to be prefixed cos the frame has 6 bytes free, not
>> 8.
>>
>
> Ah right, it's the same cluster we're transmitting as we have Rx'ed...
>

You need to get your mcl2k2 change in then.

>> the good news is that at least the prepended mbuf gets its ethernet
>> header correctly aligned.
>>
>> dlg

Reply via email to