From: Guillaume Nault Date: Tue, 22 Oct 2024 09:48:08 +0000 (+0200) Subject: ipv4: Prepare icmp_reply() to future .flowi4_tos conversion. X-Git-Tag: v6.13-rc1~135^2~214^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0ed373390c5c180d19a40f258c2e72754f641eb9;p=thirdparty%2Fkernel%2Flinux.git ipv4: Prepare icmp_reply() to future .flowi4_tos conversion. 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 Reviewed-by: Ido Schimmel Link: https://patch.msgid.link/61b7563563f8b0a562b5b62032fe5260034d0aac.1729530028.git.gnault@redhat.com Signed-off-by: Jakub Kicinski --- diff --git a/net/ipv4/icmp.c b/net/ipv4/icmp.c index 23664434922ed..33eec844a5a0d 100644 --- a/net/ipv4/icmp.c +++ b/net/ipv4/icmp.c @@ -445,7 +445,7 @@ static void icmp_reply(struct icmp_bxm *icmp_param, struct sk_buff *skb) fl4.saddr = saddr; fl4.flowi4_mark = mark; fl4.flowi4_uid = sock_net_uid(net, NULL); - fl4.flowi4_tos = ip_hdr(skb)->tos & INET_DSCP_MASK; + fl4.flowi4_tos = inet_dscp_to_dsfield(ip4h_dscp(ip_hdr(skb))); fl4.flowi4_proto = IPPROTO_ICMP; fl4.flowi4_oif = l3mdev_master_ifindex(skb->dev); security_skb_classify_flow(skb, flowi4_to_flowi_common(&fl4));