[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160920170742.GR8920@oracle.com>
Date: Tue, 20 Sep 2016 13:07:42 -0400
From: Sowmini Varadhan <sowmini.varadhan@...cle.com>
To: Jiri Benc <jbenc@...hat.com>
Cc: netdev@...r.kernel.org, davem@...emloft.net,
hannes@...essinduktion.org, aduyck@...antis.com,
daniel@...earbox.net, pabeni@...hat.com
Subject: Re: [PATCH net-next] net/vxlan: Avoid unaligned access in
vxlan_build_skb()
On (09/20/16 18:43), Jiri Benc wrote:
>
> IPv6 header is certainly not 20 bytes.
vxlan encapsulates an IPv6/ethernet frame in a UDP/IPv4/ethernet packet.
the ipv4 header is 20 bytes (without options).
mld_newpack is dealing with the vxlan net_device in this case,
which has ->hard_header_len of 14, and ->needed_headroom of 64,
so hlen (used in mld_newpack) comes out to be 80.
> If you see unaligned access, something is wrong. But I very much doubt
> that the problem is at the place you're trying to fix. Could you share
> the traces with us?
Exactly what traces do you want? I think you can check this easily
by using printk's predicated on IS_ALIGNED checks in vxlan_build_skb().
IPv6 MLD triggers this quite easily.
I will try out Hannes' solution (which makes sense) in a moment,
and report back.
--Sowmini
Powered by blists - more mailing lists