Message ID | 57de760565cab55df7b129f523530ac6475865b2.1712754146.git.gnault@redhat.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 5618603f5d063c8d769d2e64cd440f787567fd13 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next] ipv4: Remove RTO_ONLINK. | expand |
On 4/10/24 15:14, Guillaume Nault wrote: > RTO_ONLINK was a flag used in ->flowi4_tos that allowed to alter the > scope of an IPv4 route lookup. Setting this flag was equivalent to > specifying RT_SCOPE_LINK in ->flowi4_scope. > > With commit ec20b2830093 ("ipv4: Set scope explicitly in > ip_route_output()."), the last users of RTO_ONLINK have been removed. > Therefore, we can now drop the code that checked this bit and stop > modifying ->flowi4_scope in ip_route_output_key_hash(). > > Signed-off-by: Guillaume Nault <gnault@redhat.com> > --- > include/net/route.h | 2 -- > net/ipv4/route.c | 14 +------------- > 2 files changed, 1 insertion(+), 15 deletions(-) > > diff --git a/include/net/route.h b/include/net/route.h > index 315a8acee6c6..630d1ef6868a 100644 > --- a/include/net/route.h > +++ b/include/net/route.h > @@ -35,8 +35,6 @@ > #include <linux/cache.h> > #include <linux/security.h> > > -#define RTO_ONLINK 0x01 > - > static inline __u8 ip_sock_rt_scope(const struct sock *sk) > { > if (sock_flag(sk, SOCK_LOCALROUTE)) > diff --git a/net/ipv4/route.c b/net/ipv4/route.c > index c8f76f56dc16..bc6759e07a6f 100644 > --- a/net/ipv4/route.c > +++ b/net/ipv4/route.c > @@ -106,9 +106,6 @@ > > #include "fib_lookup.h" > > -#define RT_FL_TOS(oldflp4) \ > - ((oldflp4)->flowi4_tos & (IPTOS_RT_MASK | RTO_ONLINK)) > - > #define RT_GC_TIMEOUT (300*HZ) > > #define DEFAULT_MIN_PMTU (512 + 20 + 20) > @@ -498,15 +495,6 @@ void __ip_select_ident(struct net *net, struct iphdr *iph, int segs) > } > EXPORT_SYMBOL(__ip_select_ident); > > -static void ip_rt_fix_tos(struct flowi4 *fl4) > -{ > - __u8 tos = RT_FL_TOS(fl4); > - > - fl4->flowi4_tos = tos & IPTOS_RT_MASK; > - if (tos & RTO_ONLINK) > - fl4->flowi4_scope = RT_SCOPE_LINK; > -} > - > static void __build_flow_key(const struct net *net, struct flowi4 *fl4, > const struct sock *sk, const struct iphdr *iph, > int oif, __u8 tos, u8 prot, u32 mark, > @@ -2638,7 +2626,7 @@ struct rtable *ip_route_output_key_hash(struct net *net, struct flowi4 *fl4, > struct rtable *rth; > > fl4->flowi4_iif = LOOPBACK_IFINDEX; > - ip_rt_fix_tos(fl4); > + fl4->flowi4_tos &= IPTOS_RT_MASK; > > rcu_read_lock(); > rth = ip_route_output_key_hash_rcu(net, fl4, &res, skb); Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
On 4/10/24 7:14 AM, Guillaume Nault wrote: > RTO_ONLINK was a flag used in ->flowi4_tos that allowed to alter the > scope of an IPv4 route lookup. Setting this flag was equivalent to > specifying RT_SCOPE_LINK in ->flowi4_scope. > > With commit ec20b2830093 ("ipv4: Set scope explicitly in > ip_route_output()."), the last users of RTO_ONLINK have been removed. > Therefore, we can now drop the code that checked this bit and stop > modifying ->flowi4_scope in ip_route_output_key_hash(). > > Signed-off-by: Guillaume Nault <gnault@redhat.com> > --- > include/net/route.h | 2 -- > net/ipv4/route.c | 14 +------------- > 2 files changed, 1 insertion(+), 15 deletions(-) > Reviewed-by: David Ahern <dsahern@kernel.org>
Hello: This patch was applied to netdev/net-next.git (main) by Jakub Kicinski <kuba@kernel.org>: On Wed, 10 Apr 2024 15:14:29 +0200 you wrote: > RTO_ONLINK was a flag used in ->flowi4_tos that allowed to alter the > scope of an IPv4 route lookup. Setting this flag was equivalent to > specifying RT_SCOPE_LINK in ->flowi4_scope. > > With commit ec20b2830093 ("ipv4: Set scope explicitly in > ip_route_output()."), the last users of RTO_ONLINK have been removed. > Therefore, we can now drop the code that checked this bit and stop > modifying ->flowi4_scope in ip_route_output_key_hash(). > > [...] Here is the summary with links: - [net-next] ipv4: Remove RTO_ONLINK. https://git.kernel.org/netdev/net-next/c/5618603f5d06 You are awesome, thank you!
diff --git a/include/net/route.h b/include/net/route.h index 315a8acee6c6..630d1ef6868a 100644 --- a/include/net/route.h +++ b/include/net/route.h @@ -35,8 +35,6 @@ #include <linux/cache.h> #include <linux/security.h> -#define RTO_ONLINK 0x01 - static inline __u8 ip_sock_rt_scope(const struct sock *sk) { if (sock_flag(sk, SOCK_LOCALROUTE)) diff --git a/net/ipv4/route.c b/net/ipv4/route.c index c8f76f56dc16..bc6759e07a6f 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c @@ -106,9 +106,6 @@ #include "fib_lookup.h" -#define RT_FL_TOS(oldflp4) \ - ((oldflp4)->flowi4_tos & (IPTOS_RT_MASK | RTO_ONLINK)) - #define RT_GC_TIMEOUT (300*HZ) #define DEFAULT_MIN_PMTU (512 + 20 + 20) @@ -498,15 +495,6 @@ void __ip_select_ident(struct net *net, struct iphdr *iph, int segs) } EXPORT_SYMBOL(__ip_select_ident); -static void ip_rt_fix_tos(struct flowi4 *fl4) -{ - __u8 tos = RT_FL_TOS(fl4); - - fl4->flowi4_tos = tos & IPTOS_RT_MASK; - if (tos & RTO_ONLINK) - fl4->flowi4_scope = RT_SCOPE_LINK; -} - static void __build_flow_key(const struct net *net, struct flowi4 *fl4, const struct sock *sk, const struct iphdr *iph, int oif, __u8 tos, u8 prot, u32 mark, @@ -2638,7 +2626,7 @@ struct rtable *ip_route_output_key_hash(struct net *net, struct flowi4 *fl4, struct rtable *rth; fl4->flowi4_iif = LOOPBACK_IFINDEX; - ip_rt_fix_tos(fl4); + fl4->flowi4_tos &= IPTOS_RT_MASK; rcu_read_lock(); rth = ip_route_output_key_hash_rcu(net, fl4, &res, skb);
RTO_ONLINK was a flag used in ->flowi4_tos that allowed to alter the scope of an IPv4 route lookup. Setting this flag was equivalent to specifying RT_SCOPE_LINK in ->flowi4_scope. With commit ec20b2830093 ("ipv4: Set scope explicitly in ip_route_output()."), the last users of RTO_ONLINK have been removed. Therefore, we can now drop the code that checked this bit and stop modifying ->flowi4_scope in ip_route_output_key_hash(). Signed-off-by: Guillaume Nault <gnault@redhat.com> --- include/net/route.h | 2 -- net/ipv4/route.c | 14 +------------- 2 files changed, 1 insertion(+), 15 deletions(-)