summaryrefslogtreecommitdiffstats
path: root/net/ipv4
diff options
context:
space:
mode:
authorGuillaume Nault <gnault@redhat.com>2024-10-22 11:48:23 +0200
committerJakub Kicinski <kuba@kernel.org>2024-10-29 19:21:06 +0100
commit85ef52e8693c4d3d23f33dc8007ebf11d5d4d4ce (patch)
treefcd9d5787e42b15632f9135b6f55c23fd7850af3 /net/ipv4
parentipv4: Prepare ipmr_rt_fib_lookup() to future .flowi4_tos conversion. (diff)
downloadlinux-85ef52e8693c4d3d23f33dc8007ebf11d5d4d4ce.tar.xz
linux-85ef52e8693c4d3d23f33dc8007ebf11d5d4d4ce.zip
ipv4: Prepare ip_rt_get_source() 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 <gnault@redhat.com> Reviewed-by: Ido Schimmel <idosch@nvidia.com> Link: https://patch.msgid.link/0a13a200f31809841975e38633914af1061e0c04.1729530028.git.gnault@redhat.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/ipv4')
-rw-r--r--net/ipv4/route.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 18a08b4f4a5a..763398e08b7d 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -1263,7 +1263,7 @@ void ip_rt_get_source(u8 *addr, struct sk_buff *skb, struct rtable *rt)
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->dst.dev->ifindex,
.flowi4_iif = skb->dev->ifindex,
.flowi4_mark = skb->mark,