[Babel-users] Investigating kernel's cache

Dave Taht dave.taht at gmail.com
Thu Jul 17 04:32:59 UTC 2014


not directly related, but are you aware of this patch that steven
barth has been applying in openwrt?

>From 3fdbb1f797ee9fe9260af92f5d7ea760684cd271 Mon Sep 17 00:00:00 2001
From: Steven Barth <steven at midlink.org>
Date: Tue, 18 Feb 2014 13:18:32 +0100
Subject: [PATCH] Allow routes with source ::/128 for SAS on Linux

Linux uses the source-address :: (unspecified) to lookup routes in the
routing table for connections that are not bound to a specific source
address (e.g. ping6 2001:db8::1). If all default routes are
source-restricted a command like above will result in a "Permission
denied" error and no packets are being sent. Adding a default route with
source ::/128 avoids this issue.

This patch excludes ::/128 from the "martian_prefix" check for source
prefixes and thus allows such auxiliary routes to be distributed.

Signed-off-by: Steven Barth <cyrus at openwrt.org>

On Wed, Jul 16, 2014 at 3:00 PM, Matthieu Boutier
<boutier at pps.univ-paris-diderot.fr> wrote:
> 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
>



-- 
Dave Täht

NSFW: https://w2.eff.org/Censorship/Internet_censorship_bills/russell_0296_indecent.article



More information about the Babel-users mailing list