Message ID | 20240903135327.2810535-2-idosch@nvidia.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 71f1fea4f65deeb0e1a4442fe661cfc5a541a036 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | Unmask upper DSCP bits - part 3 | expand |
On Tue, Sep 03, 2024 at 04:53:24PM +0300, Ido Schimmel wrote: > The function is passed the full DS field in its 'tos' argument by its > two callers. It then masks the upper DSCP bits using RT_TOS() when > passing it to ip_route_output_ports(). > > Unmask the upper DSCP bits when passing 'tos' to ip_route_output_ports() > so that in the future it could perform the FIB lookup according to the > full DSCP value. Reviewed-by: Guillaume Nault <gnault@redhat.com>
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c index eea443b7f65e..49811c9281d4 100644 --- a/net/ipv4/ip_output.c +++ b/net/ipv4/ip_output.c @@ -494,7 +494,7 @@ int __ip_queue_xmit(struct sock *sk, struct sk_buff *skb, struct flowi *fl, inet->inet_dport, inet->inet_sport, sk->sk_protocol, - RT_TOS(tos), + tos & INET_DSCP_MASK, sk->sk_bound_dev_if); if (IS_ERR(rt)) goto no_route;
The function is passed the full DS field in its 'tos' argument by its two callers. It then masks the upper DSCP bits using RT_TOS() when passing it to ip_route_output_ports(). Unmask the upper DSCP bits when passing 'tos' to ip_route_output_ports() so that in the future it could perform the FIB lookup according to the full DSCP value. Signed-off-by: Ido Schimmel <idosch@nvidia.com> --- net/ipv4/ip_output.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)