mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-28 20:37:27 +00:00
net: erspan: fix erspan config overwrite
When an erspan tunnel device receives an erpsan packet with different tunnel metadata (ex: version, index, hwid, direction), existing code overwrites the tunnel device's erspan configuration with the received packet's metadata. The patch fixes it. Fixes:1a66a836da
("gre: add collect_md mode to ERSPAN tunnel") Fixes:f551c91de2
("net: erspan: introduce erspan v2 for ip_gre") Fixes:ef7baf5e08
("ip6_gre: add ip6 erspan collect_md mode") Fixes:94d7d8f292
("ip6_gre: add erspan v2 support") Signed-off-by: William Tu <u9012063@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
3df1928302
commit
39f57f6799
@ -322,15 +322,6 @@ static int erspan_rcv(struct sk_buff *skb, struct tnl_ptk_info *tpi,
|
||||
info = &tun_dst->u.tun_info;
|
||||
info->key.tun_flags |= TUNNEL_ERSPAN_OPT;
|
||||
info->options_len = sizeof(*md);
|
||||
} else {
|
||||
tunnel->erspan_ver = ver;
|
||||
if (ver == 1) {
|
||||
tunnel->index = ntohl(pkt_md->u.index);
|
||||
} else {
|
||||
tunnel->dir = pkt_md->u.md2.dir;
|
||||
tunnel->hwid = get_hwid(&pkt_md->u.md2);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
skb_reset_mac_header(skb);
|
||||
|
@ -562,15 +562,6 @@ static int ip6erspan_rcv(struct sk_buff *skb, int gre_hdr_len,
|
||||
ip6_tnl_rcv(tunnel, skb, tpi, tun_dst, log_ecn_error);
|
||||
|
||||
} else {
|
||||
tunnel->parms.erspan_ver = ver;
|
||||
|
||||
if (ver == 1) {
|
||||
tunnel->parms.index = ntohl(pkt_md->u.index);
|
||||
} else {
|
||||
tunnel->parms.dir = pkt_md->u.md2.dir;
|
||||
tunnel->parms.hwid = get_hwid(&pkt_md->u.md2);
|
||||
}
|
||||
|
||||
ip6_tnl_rcv(tunnel, skb, tpi, NULL, log_ecn_error);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user