summaryrefslogtreecommitdiffstats
path: root/net/core
diff options
context:
space:
mode:
authorGuillaume Nault <gnault@redhat.com>2024-11-08 17:47:12 +0100
committerJakub Kicinski <kuba@kernel.org>2024-11-15 04:07:48 +0100
commitbfe086be5c4c644602e26840683dfdd893f22d04 (patch)
tree25dd47f058665134f40189caf4e9b35a2d4a87f9 /net/core
parentMerge branch 'tools-net-ynl-rework-async-notification-handling' (diff)
downloadlinux-bfe086be5c4c644602e26840683dfdd893f22d04.tar.xz
linux-bfe086be5c4c644602e26840683dfdd893f22d04.zip
bpf: ipv4: Prepare __bpf_redirect_neigh_v4() 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/35eacc8955003e434afb1365d404193cc98a9579.1731064982.git.gnault@redhat.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/core')
-rw-r--r--net/core/filter.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/core/filter.c b/net/core/filter.c
index bc33692acabc..4c396305cd4d 100644
--- a/net/core/filter.c
+++ b/net/core/filter.c
@@ -2355,7 +2355,7 @@ static int __bpf_redirect_neigh_v4(struct sk_buff *skb, struct net_device *dev,
struct flowi4 fl4 = {
.flowi4_flags = FLOWI_FLAG_ANYSRC,
.flowi4_mark = skb->mark,
- .flowi4_tos = ip4h->tos & INET_DSCP_MASK,
+ .flowi4_tos = inet_dscp_to_dsfield(ip4h_dscp(ip4h)),
.flowi4_oif = dev->ifindex,
.flowi4_proto = ip4h->protocol,
.daddr = ip4h->daddr,