On Fri, 2016-01-29 at 13:16 -0800, Alexander Duyck wrote: > It has to be something recent. I know back when I wrote the code I > tested it on a few different architectures and had to add a few bits > in __skb_get_poff so that it would read doff as a u8 instead of > bitfield in a u32. > > Looking at the code it seems like this should be an easy fix. Just > swap the two lines that acquire and test the flow label with the check > for dissector_uses_key(... _KEY_FLOW_LABEL). Then ixgbe will stop > trying to grab flow labels.
Note that if we properly align headers, we also align TCP/UDP payload. Meaning that copying data in recvmsg() is likely faster in some cpus. (The ones having NET_IP_ALIGN set to 2 presumably)