diff options
author | Haishuang Yan <yanhaishuang@cmss.chinamobile.com> | 2017-06-16 23:38:05 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-06-18 23:56:57 -0400 |
commit | 46f8cd9d2fc1e4e8b82b53a0007f6c92e80c930b (patch) | |
tree | 808f6f1e1105c25d48141328cc8a8373c32d8aa7 | |
parent | 76371d2e3ad1f84426a30ebcd8c3b9b98f4c724f (diff) |
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: 0e9a709560db ("ip6_tunnel, ip6_gre: fix setting of DSCP on
encapsulated packets”)
Signed-off-by: Haishuang Yan <yanhaishuang@cmss.chinamobile.com>
Acked-by: Peter Dawson <peter.a.dawson@boeing.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/ipv6/ip6_tunnel.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c index 035c0496b92a..8c6c3c8e7eef 100644 --- a/net/ipv6/ip6_tunnel.c +++ b/net/ipv6/ip6_tunnel.c | |||
@@ -1248,7 +1248,7 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev) | |||
1248 | fl6.flowi6_proto = IPPROTO_IPIP; | 1248 | fl6.flowi6_proto = IPPROTO_IPIP; |
1249 | fl6.daddr = key->u.ipv6.dst; | 1249 | fl6.daddr = key->u.ipv6.dst; |
1250 | fl6.flowlabel = key->label; | 1250 | fl6.flowlabel = key->label; |
1251 | dsfield = ip6_tclass(key->label); | 1251 | dsfield = key->tos; |
1252 | } else { | 1252 | } else { |
1253 | if (!(t->parms.flags & IP6_TNL_F_IGN_ENCAP_LIMIT)) | 1253 | if (!(t->parms.flags & IP6_TNL_F_IGN_ENCAP_LIMIT)) |
1254 | encap_limit = t->parms.encap_limit; | 1254 | encap_limit = t->parms.encap_limit; |
@@ -1319,7 +1319,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev) | |||
1319 | fl6.flowi6_proto = IPPROTO_IPV6; | 1319 | fl6.flowi6_proto = IPPROTO_IPV6; |
1320 | fl6.daddr = key->u.ipv6.dst; | 1320 | fl6.daddr = key->u.ipv6.dst; |
1321 | fl6.flowlabel = key->label; | 1321 | fl6.flowlabel = key->label; |
1322 | dsfield = ip6_tclass(key->label); | 1322 | dsfield = key->tos; |
1323 | } else { | 1323 | } else { |
1324 | offset = ip6_tnl_parse_tlv_enc_lim(skb, skb_network_header(skb)); | 1324 | offset = ip6_tnl_parse_tlv_enc_lim(skb, skb_network_header(skb)); |
1325 | /* ip6_tnl_parse_tlv_enc_lim() might have reallocated skb->head */ | 1325 | /* ip6_tnl_parse_tlv_enc_lim() might have reallocated skb->head */ |