* [PATCH] ipv4: allow newer DSCP values in ip rules
@ 2018-11-19 9:00 Pavel Balaev
2018-11-19 23:11 ` David Miller
0 siblings, 1 reply; 3+ messages in thread
From: Pavel Balaev @ 2018-11-19 9:00 UTC (permalink / raw)
To: netdev
This patch adds ability to set newer RFC2597 DSCP values in ip rules.
Values are presents in /etc/iproute2/rt_dsfield:
0x28 AF11
0x30 AF12
0x38 AF13
0x48 AF21
...
If one tries to apply this values with iproure2 (ip rule add tos 0x28 ...)
he will get error from netlink: "Invalid tos" for this moment.
After this patch this one can use it:
$ ip r add default via 192.168.0.6 table test
$ ip ru add tos 0x80 table test
$ ip ru
0: from all lookup local
32764: from all tos CS4 lookup test
32766: from all lookup main
32767: from all lookup default
$ ip r get fibmatch 8.8.8.9 tos 0x80
default tos CS4 via 192.168.0.6 dev lan table test
Signed-off-by: Pavel Balaev <mail@void.so>
---
net/ipv4/fib_rules.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/ipv4/fib_rules.c b/net/ipv4/fib_rules.c
index f8eb78d0..7a6c5bfe 100644
--- a/net/ipv4/fib_rules.c
+++ b/net/ipv4/fib_rules.c
@@ -220,7 +220,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_TOS_MASK | IPTOS_PREC_MASK)) {
NL_SET_ERR_MSG(extack, "Invalid tos");
goto errout;
}
--
2.18.1
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH] ipv4: allow newer DSCP values in ip rules
2018-11-19 9:00 [PATCH] ipv4: allow newer DSCP values in ip rules Pavel Balaev
@ 2018-11-19 23:11 ` David Miller
2018-11-20 8:48 ` Pavel Balaev
0 siblings, 1 reply; 3+ messages in thread
From: David Miller @ 2018-11-19 23:11 UTC (permalink / raw)
To: mail; +Cc: netdev
From: Pavel Balaev <mail@void.so>
Date: Mon, 19 Nov 2018 12:00:45 +0300
> After this patch this one can use it:
You can "configure it" but it doesn't work at all.
Did you test this in any way beyond simply dumping the FIB rule
tables?
The whole kernel masks the TOS value using RT_TOS() so it is going to
clear out those extra bits every time the configured value actually
gets used.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] ipv4: allow newer DSCP values in ip rules
2018-11-19 23:11 ` David Miller
@ 2018-11-20 8:48 ` Pavel Balaev
0 siblings, 0 replies; 3+ messages in thread
From: Pavel Balaev @ 2018-11-20 8:48 UTC (permalink / raw)
To: David Miller; +Cc: netdev
On Mon, Nov 19, 2018 at 03:11:29PM -0800, David Miller wrote:
> From: Pavel Balaev <mail@void.so>
> Date: Mon, 19 Nov 2018 12:00:45 +0300
>
> > After this patch this one can use it:
>
> You can "configure it" but it doesn't work at all.
>
> Did you test this in any way beyond simply dumping the FIB rule
> tables?
>
> The whole kernel masks the TOS value using RT_TOS() so it is going to
> clear out those extra bits every time the configured value actually
> gets used.
Ok, I got it. I'll test RFC2597 values with full scheme and tries to
make it works.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-11-20 19:17 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-19 9:00 [PATCH] ipv4: allow newer DSCP values in ip rules Pavel Balaev
2018-11-19 23:11 ` David Miller
2018-11-20 8:48 ` Pavel Balaev
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).