Message ID | ed399406a6ffad5097fa618c3bc7a4ac59546c62.1736869543.git.gnault@redhat.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next] dccp: Prepare dccp_v4_route_skb() to .flowi4_tos conversion. | expand |
On Tue, Jan 14, 2025 at 4:46 PM Guillaume Nault <gnault@redhat.com> wrote: > > Use inet_sk_dscp() to get the socket DSCP value as dscp_t, instead of > ip_sock_rt_tos() which returns a __u8. This will ease the conversion > of fl4->flowi4_tos to dscp_t, as it will just require to drop the > inet_dscp_to_dsfield() call. > > Signed-off-by: Guillaume Nault <gnault@redhat.com> > --- > net/dccp/ipv4.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/net/dccp/ipv4.c b/net/dccp/ipv4.c > index 5926159a6f20..9e64dbd38cd7 100644 > --- a/net/dccp/ipv4.c > +++ b/net/dccp/ipv4.c > @@ -15,6 +15,7 @@ > > #include <net/icmp.h> > #include <net/inet_common.h> > +#include <net/inet_dscp.h> > #include <net/inet_hashtables.h> > #include <net/inet_sock.h> > #include <net/protocol.h> > @@ -473,7 +474,7 @@ static struct dst_entry* dccp_v4_route_skb(struct net *net, struct sock *sk, > .flowi4_oif = inet_iif(skb), > .daddr = iph->saddr, > .saddr = iph->daddr, > - .flowi4_tos = ip_sock_rt_tos(sk), > + .flowi4_tos = inet_dscp_to_dsfield(inet_sk_dscp((inet_sk(sk)))), You probably can replace ((X)) with (X) ? -> .flowi4_tos = inet_dscp_to_dsfield(inet_sk_dscp(inet_sk(sk))), > .flowi4_scope = ip_sock_rt_scope(sk), > .flowi4_proto = sk->sk_protocol, > .fl4_sport = dccp_hdr(skb)->dccph_dport, > -- > 2.39.2 >
On Tue, Jan 14, 2025 at 06:43:15PM +0100, Eric Dumazet wrote: > On Tue, Jan 14, 2025 at 4:46 PM Guillaume Nault <gnault@redhat.com> wrote: > > > > Use inet_sk_dscp() to get the socket DSCP value as dscp_t, instead of > > ip_sock_rt_tos() which returns a __u8. This will ease the conversion > > of fl4->flowi4_tos to dscp_t, as it will just require to drop the > > inet_dscp_to_dsfield() call. > > > > Signed-off-by: Guillaume Nault <gnault@redhat.com> > > --- > > net/dccp/ipv4.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/net/dccp/ipv4.c b/net/dccp/ipv4.c > > index 5926159a6f20..9e64dbd38cd7 100644 > > --- a/net/dccp/ipv4.c > > +++ b/net/dccp/ipv4.c > > @@ -15,6 +15,7 @@ > > > > #include <net/icmp.h> > > #include <net/inet_common.h> > > +#include <net/inet_dscp.h> > > #include <net/inet_hashtables.h> > > #include <net/inet_sock.h> > > #include <net/protocol.h> > > @@ -473,7 +474,7 @@ static struct dst_entry* dccp_v4_route_skb(struct net *net, struct sock *sk, > > .flowi4_oif = inet_iif(skb), > > .daddr = iph->saddr, > > .saddr = iph->daddr, > > - .flowi4_tos = ip_sock_rt_tos(sk), > > + .flowi4_tos = inet_dscp_to_dsfield(inet_sk_dscp((inet_sk(sk)))), > > You probably can replace ((X)) with (X) ? > -> > .flowi4_tos = inet_dscp_to_dsfield(inet_sk_dscp(inet_sk(sk))), Indeed, I'll change that in v2. > > .flowi4_scope = ip_sock_rt_scope(sk), > > .flowi4_proto = sk->sk_protocol, > > .fl4_sport = dccp_hdr(skb)->dccph_dport, > > -- > > 2.39.2 > > >
diff --git a/net/dccp/ipv4.c b/net/dccp/ipv4.c index 5926159a6f20..9e64dbd38cd7 100644 --- a/net/dccp/ipv4.c +++ b/net/dccp/ipv4.c @@ -15,6 +15,7 @@ #include <net/icmp.h> #include <net/inet_common.h> +#include <net/inet_dscp.h> #include <net/inet_hashtables.h> #include <net/inet_sock.h> #include <net/protocol.h> @@ -473,7 +474,7 @@ static struct dst_entry* dccp_v4_route_skb(struct net *net, struct sock *sk, .flowi4_oif = inet_iif(skb), .daddr = iph->saddr, .saddr = iph->daddr, - .flowi4_tos = ip_sock_rt_tos(sk), + .flowi4_tos = inet_dscp_to_dsfield(inet_sk_dscp((inet_sk(sk)))), .flowi4_scope = ip_sock_rt_scope(sk), .flowi4_proto = sk->sk_protocol, .fl4_sport = dccp_hdr(skb)->dccph_dport,
Use inet_sk_dscp() to get the socket DSCP value as dscp_t, instead of ip_sock_rt_tos() which returns a __u8. This will ease the conversion of fl4->flowi4_tos to dscp_t, as it will just require to drop the inet_dscp_to_dsfield() call. Signed-off-by: Guillaume Nault <gnault@redhat.com> --- net/dccp/ipv4.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)