From: Ido Schimmel Date: Wed, 21 Aug 2024 12:52:41 +0000 (+0300) Subject: ipv4: Unmask upper DSCP bits in NETLINK_FIB_LOOKUP family X-Git-Tag: v6.12-rc1~232^2~198^2~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bc52a4eecefdd686065f8f68ba9e1c83d4ce6f14;p=thirdparty%2Fkernel%2Flinux.git ipv4: Unmask upper DSCP bits in NETLINK_FIB_LOOKUP family The NETLINK_FIB_LOOKUP netlink family can be used to perform a FIB lookup according to user provided parameters and communicate the result back to user space. Unmask the upper DSCP bits of the user-provided DS field before invoking the IPv4 FIB lookup API 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 Reviewed-by: Guillaume Nault Acked-by: Florian Westphal Reviewed-by: David Ahern Link: https://patch.msgid.link/20240821125251.1571445-3-idosch@nvidia.com Signed-off-by: Jakub Kicinski --- diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c index da540ddb7af65..8b740f575da1a 100644 --- a/net/ipv4/fib_frontend.c +++ b/net/ipv4/fib_frontend.c @@ -1343,7 +1343,7 @@ static void nl_fib_lookup(struct net *net, struct fib_result_nl *frn) struct flowi4 fl4 = { .flowi4_mark = frn->fl_mark, .daddr = frn->fl_addr, - .flowi4_tos = frn->fl_tos & IPTOS_RT_MASK, + .flowi4_tos = frn->fl_tos & INET_DSCP_MASK, .flowi4_scope = frn->fl_scope, }; struct fib_table *tb;