ip rule suppress_prefixlength

Valdis.Kletnieks at vt.edu Valdis.Kletnieks at vt.edu
Mon Oct 31 18:24:00 EDT 2016


On Sun, 30 Oct 2016 12:25:50 +0100, Matthias Peter Walther said:

> root at 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 at 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 at des1 ~ # ip r s t 42
> blackhole default

> 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.

Note your table 42 is a blackhole.  I suspect that using 'suppress_prefixlength
0' is acting differently than you expect - you've told it to use table 42 which
has only a blackhole, and when it suppresses that route, there is no *other*
route in table 42 to select - leaving you with a 'no route' situation.  I don't
think it's supposed to make the 'lookup ffnet' part go away, only entries *IN*
that table that are longer than specified (which for 0 means "all of them").

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 484 bytes
Desc: not available
Url : http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20161031/4008132e/attachment.bin 


More information about the Kernelnewbies mailing list