On Mon, Aug 03, 2020 at 04:02:17PM +0800, Hangbin Liu wrote: > In commit 71130f29979c ("vxlan: fix tos value before xmit") we strict > the vxlan tos value before xmit. But as IP tos field has been obsoleted > by RFC2474, and updated by RFC3168 later. We should use new DSCP field, > or we will lost the first 3 bits value when xmit. > Why sending this patch to net-next? Commit 71130f29979c ("vxlan: fix tos value before xmit") broke setups where the high TOS bits were used. This needs to be fixed in net (and probably pushed to -stable too).
> Fixes: 71130f29979c ("vxlan: fix tos value before xmit") > Signed-off-by: Hangbin Liu <liuhang...@gmail.com> > --- > drivers/net/vxlan.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c > index 77658425db8a..fe051ed0f6db 100644 > --- a/drivers/net/vxlan.c > +++ b/drivers/net/vxlan.c > @@ -2722,7 +2722,7 @@ static void vxlan_xmit_one(struct sk_buff *skb, struct > net_device *dev, > ndst = &rt->dst; > skb_tunnel_check_pmtu(skb, ndst, VXLAN_HEADROOM); > > - tos = ip_tunnel_ecn_encap(RT_TOS(tos), old_iph, skb); > + tos = ip_tunnel_ecn_encap(RT_DSCP(tos), old_iph, skb); > ttl = ttl ? : ip4_dst_hoplimit(&rt->dst); > err = vxlan_build_skb(skb, ndst, sizeof(struct iphdr), > vni, md, flags, udp_sum); > @@ -2762,7 +2762,7 @@ static void vxlan_xmit_one(struct sk_buff *skb, struct > net_device *dev, > > skb_tunnel_check_pmtu(skb, ndst, VXLAN6_HEADROOM); > > - tos = ip_tunnel_ecn_encap(RT_TOS(tos), old_iph, skb); > + tos = ip_tunnel_ecn_encap(RT_DSCP(tos), old_iph, skb); > ttl = ttl ? : ip6_dst_hoplimit(ndst); > skb_scrub_packet(skb, xnet); > err = vxlan_build_skb(skb, ndst, sizeof(struct ipv6hdr), > -- > 2.25.4 >