From: Jiri Benc Date: Fri, 13 May 2016 08:48:42 +0000 (+0200) Subject: vxlan: set mac_header correctly in GPE mode X-Git-Tag: v4.7-rc1~154^2~45 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=8be0cfa4d352167df508acd571eb19afd8a2ce93;p=linux.git vxlan: set mac_header correctly in GPE mode For VXLAN-GPE, the interface is ARPHRD_NONE, thus we need to reset mac_header after pulling the outer header. v2: Put the code to the existing conditional block as suggested by Shmulik Ladkani. Fixes: e1e5314de08b ("vxlan: implement GPE") Signed-off-by: Jiri Benc Reviewed-by: Shmulik Ladkani Signed-off-by: David S. Miller --- diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index 2f29d20aa08f..25ab6bf013c4 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c @@ -1381,6 +1381,7 @@ static int vxlan_rcv(struct sock *sk, struct sk_buff *skb) if (!vxlan_set_mac(vxlan, vs, skb)) goto drop; } else { + skb_reset_mac_header(skb); skb->dev = vxlan->dev; skb->pkt_type = PACKET_HOST; }