From: Ido Schimmel Date: Thu, 5 Sep 2024 16:51:39 +0000 (+0300) Subject: ipv4: udp_tunnel: Unmask upper DSCP bits in udp_tunnel_dst_lookup() X-Git-Tag: v6.12~507^2~71^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2c60fc9ca21636e4bbb30357562dc1abb577f5fb;p=platform%2Fkernel%2Flinux-amlogic.git ipv4: udp_tunnel: Unmask upper DSCP bits in udp_tunnel_dst_lookup() Unmask the upper DSCP bits when calling ip_route_output_key() so that in the future it could perform the FIB lookup according to the full DSCP value. Note that callers of udp_tunnel_dst_lookup() pass the entire DS field in the 'tos' argument. Signed-off-by: Ido Schimmel Reviewed-by: Guillaume Nault Signed-off-by: David S. Miller --- diff --git a/net/ipv4/udp_tunnel_core.c b/net/ipv4/udp_tunnel_core.c index e4e0fa869fa4..619a53eb672d 100644 --- a/net/ipv4/udp_tunnel_core.c +++ b/net/ipv4/udp_tunnel_core.c @@ -6,6 +6,7 @@ #include #include #include +#include int udp_sock_create4(struct net *net, struct udp_port_cfg *cfg, struct socket **sockp) @@ -232,7 +233,7 @@ struct rtable *udp_tunnel_dst_lookup(struct sk_buff *skb, fl4.saddr = key->u.ipv4.src; fl4.fl4_dport = dport; fl4.fl4_sport = sport; - fl4.flowi4_tos = RT_TOS(tos); + fl4.flowi4_tos = tos & INET_DSCP_MASK; fl4.flowi4_flags = key->flow_flags; rt = ip_route_output_key(net, &fl4);