Message ID | 8338a12377c44f698a651d1ce357dd92bdf18120.1731064982.git.gnault@redhat.com (mailing list archive) |
---|---|
State | Accepted |
Commit | dab9c6307161adc626dd21b8e9596a289e714155 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | ipv4: Prepare bpf helpers to .flowi4_tos conversion. | expand |
On Fri, Nov 08, 2024 at 05:47:15PM +0100, Guillaume Nault wrote: > 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>
diff --git a/net/core/lwt_bpf.c b/net/core/lwt_bpf.c index e0ca24a58810..6655af5c267d 100644 --- a/net/core/lwt_bpf.c +++ b/net/core/lwt_bpf.c @@ -207,7 +207,7 @@ static int bpf_lwt_xmit_reroute(struct sk_buff *skb) fl4.flowi4_oif = oif; fl4.flowi4_mark = skb->mark; fl4.flowi4_uid = sock_net_uid(net, sk); - fl4.flowi4_tos = iph->tos & INET_DSCP_MASK; + fl4.flowi4_tos = inet_dscp_to_dsfield(ip4h_dscp(iph)); fl4.flowi4_flags = FLOWI_FLAG_ANYSRC; fl4.flowi4_proto = iph->protocol; fl4.daddr = iph->daddr;
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> --- net/core/lwt_bpf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)