Commit 8be0cfa4 authored by Jiri Benc's avatar Jiri Benc Committed by David S. Miller

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: e1e5314d ("vxlan: implement GPE")
Signed-off-by: default avatarJiri Benc <jbenc@redhat.com>
Reviewed-by: default avatarShmulik Ladkani <shmulik.ladkani@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 41ae56ce
...@@ -1381,6 +1381,7 @@ static int vxlan_rcv(struct sock *sk, struct sk_buff *skb) ...@@ -1381,6 +1381,7 @@ static int vxlan_rcv(struct sock *sk, struct sk_buff *skb)
if (!vxlan_set_mac(vxlan, vs, skb)) if (!vxlan_set_mac(vxlan, vs, skb))
goto drop; goto drop;
} else { } else {
skb_reset_mac_header(skb);
skb->dev = vxlan->dev; skb->dev = vxlan->dev;
skb->pkt_type = PACKET_HOST; skb->pkt_type = PACKET_HOST;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment