From: Ido Schimmel Date: Thu, 5 Sep 2024 16:51:33 +0000 (+0300) Subject: ipv4: ip_tunnel: Unmask upper DSCP bits in ip_tunnel_bind_dev() X-Git-Tag: v6.12-rc1~232^2~71^2~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e7191e517a03d025405c7df730b400ad4118474e;p=thirdparty%2Fkernel%2Flinux.git ipv4: ip_tunnel: Unmask upper DSCP bits in ip_tunnel_bind_dev() Unmask the upper DSCP bits when initializing an IPv4 flow key via ip_tunnel_init_flow() before passing it to ip_route_output_key() so that in the future we could perform the FIB lookup according to the full DSCP value. Signed-off-by: Ido Schimmel Reviewed-by: Guillaume Nault Signed-off-by: David S. Miller --- diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c index 18964394d6bd0..b632c128ecb75 100644 --- a/net/ipv4/ip_tunnel.c +++ b/net/ipv4/ip_tunnel.c @@ -293,7 +293,7 @@ static int ip_tunnel_bind_dev(struct net_device *dev) ip_tunnel_init_flow(&fl4, iph->protocol, iph->daddr, iph->saddr, tunnel->parms.o_key, - RT_TOS(iph->tos), dev_net(dev), + iph->tos & INET_DSCP_MASK, dev_net(dev), tunnel->parms.link, tunnel->fwmark, 0, 0); rt = ip_route_output_key(tunnel->net, &fl4);