On Fri, 13 Nov 2020 12:06:37 +1000
Russell Strong <russ...@strong.id.au> 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

Reply via email to