]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
ipv4: Prepare ipmr_rt_fib_lookup() to future .flowi4_tos conversion.
authorGuillaume Nault <gnault@redhat.com>
Tue, 22 Oct 2024 09:48:15 +0000 (11:48 +0200)
committerJakub Kicinski <kuba@kernel.org>
Tue, 29 Oct 2024 18:21:05 +0000 (11:21 -0700)
Use ip4h_dscp() to get the DSCP from the IPv4 header, then convert the
dscp_t value to __u8 with inet_dscp_to_dsfield().

Then, when we'll convert .flowi4_tos to dscp_t, we'll just have to drop
the inet_dscp_to_dsfield() call.

Signed-off-by: Guillaume Nault <gnault@redhat.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Link: https://patch.msgid.link/462402a097260357a7aba80228612305f230b6a9.1729530028.git.gnault@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/ipv4/ipmr.c

index b4fc443481ce0487f1fe3b5cca436609b461040b..99e7cd0531d912d12ad1b7109ec348f458ba1679 100644 (file)
@@ -2081,7 +2081,7 @@ static struct mr_table *ipmr_rt_fib_lookup(struct net *net, struct sk_buff *skb)
        struct flowi4 fl4 = {
                .daddr = iph->daddr,
                .saddr = iph->saddr,
-               .flowi4_tos = iph->tos & INET_DSCP_MASK,
+               .flowi4_tos = inet_dscp_to_dsfield(ip4h_dscp(iph)),
                .flowi4_oif = (rt_is_output_route(rt) ?
                               skb->dev->ifindex : 0),
                .flowi4_iif = (rt_is_output_route(rt) ?