ipv4: Unmask upper DSCP bits in RTM_GETROUTE output route lookup
authorIdo Schimmel <idosch@nvidia.com>
Thu, 29 Aug 2024 06:54:48 +0000 (09:54 +0300)
committerDavid S. Miller <davem@davemloft.net>
Sat, 31 Aug 2024 16:44:50 +0000 (17:44 +0100)
Unmask the upper DSCP bits when looking up an output route via the
RTM_GETROUTE netlink message so that in the future the lookup could be
performed according to the full DSCP value.

No functional changes intended since the upper DSCP bits are masked when
comparing against the TOS selectors in FIB rules and routes.

Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Guillaume Nault <gnault@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/route.c

index f6972b2..e4b45aa 100644 (file)
@@ -3261,7 +3261,7 @@ static int inet_rtm_getroute(struct sk_buff *in_skb, struct nlmsghdr *nlh,
 
        fl4.daddr = dst;
        fl4.saddr = src;
-       fl4.flowi4_tos = rtm->rtm_tos & IPTOS_RT_MASK;
+       fl4.flowi4_tos = rtm->rtm_tos & INET_DSCP_MASK;
        fl4.flowi4_oif = tb[RTA_OIF] ? nla_get_u32(tb[RTA_OIF]) : 0;
        fl4.flowi4_mark = mark;
        fl4.flowi4_uid = uid;