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: e1e5314de0
("vxlan: implement GPE")
Signed-off-by: Jiri Benc <jbenc@redhat.com>
Reviewed-by: Shmulik Ladkani <shmulik.ladkani@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
41ae56ce35
commit
8be0cfa4d3
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue