[Babel-users] Investigating kernel's cache
Matthieu Boutier
boutier at pps.univ-paris-diderot.fr
Wed Jul 16 22:00:23 UTC 2014
Hi,
we are investigating some strange behaviour with "native" source specific routes (i.e. not with multiple routing tables): it seems cached routes may make things go wrong. Here are the details.
I have two default routes:
default from 2001:41d0:1:f100::/56 via fe80::4e72:b9ff:fe43:7608 dev tun-ariane proto 42 metric 1024
default via fe80::8618:8803:5474:9b01 dev eth1 proto zebra metric 3
and I try to use mtr with two different addresses:
(1) mtr 2a00:1450:4007:804::1006 --address 2001:660:3301:9208:e246:9aff:fe4e:912e
(2) mtr 2a00:1450:4007:804::1006 --address 2001:41d0:1:f19f:e246:9aff:fe4e:912e
When 1 is run first, the following route is added to the cache, and then, when 2 is launched, the wrong path is taken since the cache match.
2a00:1450:4007:804::1006 via fe80::8618:8803:5474:9b01 dev eth1 metric 0
When 2 is run first, the following two entries are in the cache, and things goes right (at least while the cache keeps the specific route).
2a00:1450:4007:804::1006 from 2001:41d0:1:f100::/56 via fe80::4e72:b9ff:fe43:7608 dev tun-ariane metric 0
2a00:1450:4007:804::1006 via fe80::8618:8803:5474:9b01 dev eth1 metric 0
This has been done on an openwrt 3.10.36 and on a Debian 3.13.7. This behaviour was not observed with the same route entries added by hand with a /128 destination, i.e.
2a00:1450:4007:804::1006 from 2001:41d0:1:f100::/56 via fe80::4e72:b9ff:fe43:7608 dev tun-ariane
2a00:1450:4007:804::1006 via fe80::8618:8803:5474:9b01 dev eth1
The packets are well routed when multiple routing tables are used.
Does anyone has some feedback about this ?
Matthieu
More information about the Babel-users
mailing list