Unexpected behaviour of suppress_prefixlength 0

2 messages, 1 author, 2016-10-24 · open the first message on its own page

Unexpected behaviour of suppress_prefixlength 0

From: Matthias Peter Walther <hidden>
Date: 2016-10-20 22:11:40

Hello,

I'm Matthias and I'm new to this list. I just signed up, to ask the 
following question.

I have a configuration like this:

root@des1 ~ # ip rule
0:    from all lookup local
32765:    from all iif lo lookup ffnet suppress_prefixlength 0
32766:    from all lookup main
32767:    from all lookup default
(ffnet is table 42)
root@des1 ~ # ip r s
default via 5.9.86.151 dev eth0
5.9.86.151 dev eth0  proto kernel  scope link  src 5.9.86.144
root@des1 ~ # ip r s t 42
blackhole default

I have the default routing table, and a routing table number 42. I could 
use an ip rule filtering by destination ip, but I wanted to try 
suppress_prefixlength.

Let's say I want to ping 8.8.8.8. What I expect is, that the package is 
put into routing table 42 by the ip rule 32765. As there is no more 
specific route for 8.8.8.8 than the default route in table 42, I expect 
the suppress_prefixlength 0 option to put it back to the default routing 
table and then to be send out through eth0.

Instead this configuration takes the whole machine offline:

root@des1 ~ # ping 8.8.8.8
connect: Invalid argument

When I delete the ip rule 32765 containing the suppress_prefixlength, 
the machine is back online.

Do I not understand the suppress_prefixlength-feature correctly or is 
this a bug? I tested with Kernel 4.7 and 4.6, both show the same 
behaviour as described above.

Thanks for any replies in advance.

Regards,
Matthias

Re: Unexpected behaviour of suppress_prefixlength 0

From: Matthias Peter Walther <hidden>
Date: 2016-10-24 10:47:51

I'm not sure, if this was the right list to ask for this?

It seems to me, that this list is for patches only...

On 21.10.2016 00:00, Matthias Peter Walther wrote:
Hello,

I'm Matthias and I'm new to this list. I just signed up, to ask the
following question.

I have a configuration like this:

root@des1 ~ # ip rule
0:    from all lookup local
32765:    from all iif lo lookup ffnet suppress_prefixlength 0
32766:    from all lookup main
32767:    from all lookup default
(ffnet is table 42)
root@des1 ~ # ip r s
default via 5.9.86.151 dev eth0
5.9.86.151 dev eth0  proto kernel  scope link  src 5.9.86.144
root@des1 ~ # ip r s t 42
blackhole default

I have the default routing table, and a routing table number 42. I
could use an ip rule filtering by destination ip, but I wanted to try
suppress_prefixlength.

Let's say I want to ping 8.8.8.8. What I expect is, that the package
is put into routing table 42 by the ip rule 32765. As there is no more
specific route for 8.8.8.8 than the default route in table 42, I
expect the suppress_prefixlength 0 option to put it back to the
default routing table and then to be send out through eth0.

Instead this configuration takes the whole machine offline:

root@des1 ~ # ping 8.8.8.8
connect: Invalid argument

When I delete the ip rule 32765 containing the suppress_prefixlength,
the machine is back online.

Do I not understand the suppress_prefixlength-feature correctly or is
this a bug? I tested with Kernel 4.7 and 4.6, both show the same
behaviour as described above.

Thanks for any replies in advance.

Regards,
Matthias
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help