diff options
author | Jakub Kicinski <kuba@kernel.org> | 2024-11-14 19:07:50 -0800 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2024-11-14 19:07:50 -0800 |
commit | 66dae28aeb11083c173f615069863ffa8d24230d (patch) | |
tree | 778fb99516e67a55c87633274eeedb63c1810c86 | |
parent | 59b6c043da0bb12631cf4e84e0be58727c0eab17 (diff) | |
parent | dab9c6307161adc626dd21b8e9596a289e714155 (diff) |
Merge branch 'ipv4-prepare-bpf-helpers-to-flowi4_tos-conversion'
Guillaume Nault says:
====================
ipv4: Prepare bpf helpers to .flowi4_tos conversion.
Continue the process of making a dscp_t variable available when setting
.flowi4_tos. This series focuses on the BPF helpers that initialise a
struct flowi4 manually.
The objective is to eventually convert .flowi4_tos to dscp_t, (to get
type annotation and prevent ECN bits from interfering with DSCP).
====================
Link: https://patch.msgid.link/cover.1731064982.git.gnault@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r-- | net/core/filter.c | 2 | ||||
-rw-r--r-- | net/core/lwt_bpf.c | 2 |
2 files changed, 2 insertions, 2 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, diff --git a/net/core/lwt_bpf.c b/net/core/lwt_bpf.c index 8a78bff53b2c..ae74634310a3 100644 --- a/net/core/lwt_bpf.c +++ b/net/core/lwt_bpf.c @@ -209,7 +209,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; |