Commit bfe086be authored by Guillaume Nault's avatar Guillaume Nault Committed by Jakub Kicinski
Browse files

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: default avatarGuillaume Nault <gnault@redhat.com>
Reviewed-by: default avatarIdo Schimmel <idosch@nvidia.com>
Link: https://patch.msgid.link/35eacc8955003e434afb1365d404193cc98a9579.1731064982.git.gnault@redhat.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 59b6c043
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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,