Commit 46f8cd9d authored by Haishuang Yan's avatar Haishuang Yan Committed by David S. Miller

ip6_tunnel: Correct tos value in collect_md mode

Same as ip_gre, geneve and vxlan, use key->tos as traffic class value.

CC: Peter Dawson <petedaws@gmail.com>
Fixes: 0e9a7095 ("ip6_tunnel, ip6_gre: fix setting of DSCP on
encapsulated packets”)
Signed-off-by: default avatarHaishuang Yan <yanhaishuang@cmss.chinamobile.com>
Acked-by: default avatarPeter Dawson <peter.a.dawson@boeing.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 76371d2e
...@@ -1248,7 +1248,7 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev) ...@@ -1248,7 +1248,7 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev)
fl6.flowi6_proto = IPPROTO_IPIP; fl6.flowi6_proto = IPPROTO_IPIP;
fl6.daddr = key->u.ipv6.dst; fl6.daddr = key->u.ipv6.dst;
fl6.flowlabel = key->label; fl6.flowlabel = key->label;
dsfield = ip6_tclass(key->label); dsfield = key->tos;
} else { } else {
if (!(t->parms.flags & IP6_TNL_F_IGN_ENCAP_LIMIT)) if (!(t->parms.flags & IP6_TNL_F_IGN_ENCAP_LIMIT))
encap_limit = t->parms.encap_limit; encap_limit = t->parms.encap_limit;
...@@ -1319,7 +1319,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev) ...@@ -1319,7 +1319,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev)
fl6.flowi6_proto = IPPROTO_IPV6; fl6.flowi6_proto = IPPROTO_IPV6;
fl6.daddr = key->u.ipv6.dst; fl6.daddr = key->u.ipv6.dst;
fl6.flowlabel = key->label; fl6.flowlabel = key->label;
dsfield = ip6_tclass(key->label); dsfield = key->tos;
} else { } else {
offset = ip6_tnl_parse_tlv_enc_lim(skb, skb_network_header(skb)); offset = ip6_tnl_parse_tlv_enc_lim(skb, skb_network_header(skb));
/* ip6_tnl_parse_tlv_enc_lim() might have reallocated skb->head */ /* ip6_tnl_parse_tlv_enc_lim() might have reallocated skb->head */
......
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