Subject: Re: [PATCH net-next] net: DSCP in IPv4 routing

From: Stephen Hemminger <[email-masked]>
Date: Thu, 12 Nov 2020 19:36:56 -0800

On Fri, 13 Nov 2020 12:06:37 +1000
Russell Strong <[email-masked]> wrote:

> diff --git a/include/uapi/linux/in_route.h
> b/include/uapi/linux/in_route.h index 0cc2c23b47f8..db5d236b9c50 100644
> --- a/include/uapi/linux/in_route.h
> +++ b/include/uapi/linux/in_route.h
> @@ -28,6 +28,6 @@
>  
>  #define RTCF_NAT	(RTCF_DNAT|RTCF_SNAT)
>  
> -#define RT_TOS(tos)	((tos)&IPTOS_TOS_MASK)
> +#define RT_TOS(tos)	((tos)&IPTOS_DS_MASK)
>  

Changing behavior of existing header files risks breaking applications.

> diff --git a/net/ipv4/fib_rules.c b/net/ipv4/fib_rules.c
> index ce54a30c2ef1..1499105d1efd 100644
> --- a/net/ipv4/fib_rules.c
> +++ b/net/ipv4/fib_rules.c
> @@ -229,7 +229,7 @@ static int fib4_rule_configure(struct fib_rule
> *rule, struct sk_buff *skb, int err = -EINVAL;
>  	struct fib4_rule *rule4 = (struct fib4_rule *) rule;
>  
> -	if (frh->tos & ~IPTOS_TOS_MASK) {
> +	if (frh->tos & ~IPTOS_RT_MASK) {

This needs to be behind a sysctl and the default has to be to keep
the old behavior