]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
netfilter: nf_dup4: Convert nf_dup_ipv4_route() to dscp_t.
authorGuillaume Nault <gnault@redhat.com>
Thu, 14 Nov 2024 16:03:52 +0000 (17:03 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Fri, 15 Nov 2024 10:00:29 +0000 (11:00 +0100)
Use ip4h_dscp() instead of reading iph->tos directly.

ip4h_dscp() returns a dscp_t value which is temporarily converted back
to __u8 with inet_dscp_to_dsfield(). When converting ->flowi4_tos to
dscp_t in the future, we'll only have to remove that
inet_dscp_to_dsfield() call.

Signed-off-by: Guillaume Nault <gnault@redhat.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/ipv4/netfilter/nf_dup_ipv4.c

index ec94ee1051c77f9af8f13d0842978f8cee5d7da7..25e1e8eb18dd56daf304c90d117bdcbedc1e30c8 100644 (file)
@@ -33,7 +33,7 @@ static bool nf_dup_ipv4_route(struct net *net, struct sk_buff *skb,
                fl4.flowi4_oif = oif;
 
        fl4.daddr = gw->s_addr;
-       fl4.flowi4_tos = iph->tos & INET_DSCP_MASK;
+       fl4.flowi4_tos = inet_dscp_to_dsfield(ip4h_dscp(iph));
        fl4.flowi4_scope = RT_SCOPE_UNIVERSE;
        fl4.flowi4_flags = FLOWI_FLAG_KNOWN_NH;
        rt = ip_route_output_key(net, &fl4);