Re: [PATCH net-next] net/vxlan: Avoid unaligned access in vxlan_build_skb()
flat view
From: Tom Herbert <hidden>
Date: 2016-09-20 17:19:17
On Tue, Sep 20, 2016 at 10:09 AM, Jiri Benc [off-list ref] wrote:
On Tue, 20 Sep 2016 18:43:33 +0200, Jiri Benc wrote:quoted
On Tue, 20 Sep 2016 12:31:08 -0400, Sowmini Varadhan wrote:quoted
The vxlan header is after the ethernet header (14 bytes), IP header (20 bytes, assuming no options) and udp header (8 bytes).If the VXLAN header is not aligned to 4 bytes, then IP header is not aligned to 4 bytes, too, and you have greater problems than just VXLAN....which is indeed the case. Sorry, I guess I'm too much focused on VXLAN-GPE nowadays and I missed that we're building this before the inner Ethernet header. But the point stands, we have much greater problems here than VXLAN. And I don't think that wrapping all IP address accesses into get/put_unaligned all around the stack is the solution.
RIght, this is problem with the encapsulations themselves. IP protocols are supposed to be four-byte aligned and Ethernet encapsulation is obviously breaking that. We can't address this in existing standards like GRE-TEB, but for new encapsulations we should make sure this avoided. I've posted on nvo3 list about this issue. Tom
Jiri