Message ID | 20240829065459.2273106-7-idosch@nvidia.com (mailing list archive) |
---|---|
State | Accepted |
Commit | f6c89e95555ace0cb10d01b07756bfa5db5ee7fa |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | Unmask upper DSCP bits - part 2 | expand |
On Thu, Aug 29, 2024 at 09:54:53AM +0300, Ido Schimmel wrote: > build_sk_flow_key() and __build_flow_key() are used to build an IPv4 > flow key before calling one of the FIB lookup APIs. > > Unmask the upper DSCP bits so that in the future the lookup could be > performed according to the full DSCP value. Reviewed-by: Guillaume Nault <gnault@redhat.com>
diff --git a/net/ipv4/route.c b/net/ipv4/route.c index 5a77dc6d9c72..723ac9181558 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c @@ -512,7 +512,7 @@ static void __build_flow_key(const struct net *net, struct flowi4 *fl4, sk->sk_protocol; } - flowi4_init_output(fl4, oif, mark, tos & IPTOS_RT_MASK, scope, + flowi4_init_output(fl4, oif, mark, tos & INET_DSCP_MASK, scope, prot, flow_flags, iph->daddr, iph->saddr, 0, 0, sock_net_uid(net, sk)); } @@ -541,7 +541,7 @@ static void build_sk_flow_key(struct flowi4 *fl4, const struct sock *sk) if (inet_opt && inet_opt->opt.srr) daddr = inet_opt->opt.faddr; flowi4_init_output(fl4, sk->sk_bound_dev_if, READ_ONCE(sk->sk_mark), - ip_sock_rt_tos(sk) & IPTOS_RT_MASK, + ip_sock_rt_tos(sk), ip_sock_rt_scope(sk), inet_test_bit(HDRINCL, sk) ? IPPROTO_RAW : sk->sk_protocol,
build_sk_flow_key() and __build_flow_key() are used to build an IPv4 flow key before calling one of the FIB lookup APIs. Unmask the upper DSCP bits so that in the future the lookup could be performed according to the full DSCP value. Signed-off-by: Ido Schimmel <idosch@nvidia.com> --- net/ipv4/route.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)