From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ie0-x233.google.com (mail-ie0-x233.google.com [IPv6:2607:f8b0:4001:c03::233]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id 82F8821F107 for ; Thu, 27 Jun 2013 14:05:10 -0700 (PDT) Received: by mail-ie0-f179.google.com with SMTP id c10so2656700ieb.10 for ; Thu, 27 Jun 2013 14:05:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=zXFn0Dj6gmNnxn5oGAyD+MQa/zGQNk8z3/gAygPcNws=; b=lhvFsZjZ6VGVHSVBkjoW+h8mBAeIBS1LcHgZ+45cXWTB1i2B5/KF7b9ikaumFaONQC 27cRKdFa7YogYvUl4hGfZzx00/0V06K5XvpfirVD2jrr6UN3IexuyphUKReNedfKyDDq 9FKeECdzXy3eH+S1EuzotznJEnSHr+VBJJleYAcnpDiWKqnTJav40PO56ejN578jnEL4 3AQcj16Pdo3P57a+9d1rvXnaVHb7gPCYipyJd7M5VJ148dWsvncWH7ahy+GusrVsM+61 fhQCty/9CmDe5Lhk9kdJ9vaipIohb79lvTM5jlNqOxy0fNN7DlO1+0g3RmxGRZyp0TtG 9sZw== MIME-Version: 1.0 X-Received: by 10.50.101.36 with SMTP id fd4mr672345igb.13.1372367109685; Thu, 27 Jun 2013 14:05:09 -0700 (PDT) Received: by 10.64.86.8 with HTTP; Thu, 27 Jun 2013 14:05:09 -0700 (PDT) In-Reply-To: <7ibo6rtjoo.wl%jch@pps.univ-paris-diderot.fr> References: <7ibo6rtjoo.wl%jch@pps.univ-paris-diderot.fr> Date: Thu, 27 Jun 2013 14:05:09 -0700 Message-ID: From: Dave Taht To: cerowrt-devel@lists.bufferbloat.net Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: [Cerowrt-devel] Fwd: [Babel-users] ANNOUNCE: source-specific routing in Babel X-BeenThere: cerowrt-devel@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: Development issues regarding the cerowrt test router project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Jun 2013 21:05:10 -0000 yea! ---------- Forwarded message ---------- From: Matthieu Boutier Date: Thu, Jun 27, 2013 at 12:52 PM Subject: [Babel-users] ANNOUNCE: source-specific routing in Babel To: babel-users@lists.alioth.debian.org Cc: Markus Stenberg , fred@cisco.com Dear all, We are pleased to announce a first implementation of Babel-S, a variant of Babel able to distribute source-specific routes. The code is available using git clone -b source-specific git://git.wifi.pps.univ-paris-diderot.fr/babels.git with a web inteface on http://git.wifi.pps.univ-paris-diderot.fr/?p=3Dbabels.git and a backup on https://github.com/boutier/babeld Motivation =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Consider the case of a multihomed network (a network connected to two ISPs). If the network is using provider-specific addresses, a packet needs to be routed to the right ISP depending on its *source* address. This is in contrast to traditional routing, which only considers the *destination* when making a routing decision. ISP A ISP B \ / packets \ / packets sourced \ / sourced from A \ / from B end node Markus Stenberg has recently published a prototype of source-specific routing for OSPF[1]. Babel-S is our attempt at a production-quality implementation of source-specific routing within the Babel routing protocol[2]. Implementation details =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D In the presence of source-specific routing, a route is identified by a pair (D, S) where D is a destination prefix and S is a sourcer prefix. In the general case, there is a possibile ambiguity between two routes. For example, in our experimental network there is a default source-specific route (0.0.0.0/0, 192.168.4.0/24) ^ ^ | | dest source and a non-source-specific route (192.168.4.42/32, 0.0.0.0/0) A packet that is both sourced from 192.168.4.0/24 and destined to 192.168.4.42 is ambiguous. As was explained to us by Fred Baker, in this case the destination should "win" -- the packet should follow the non-source-specific route. Unfortunately, the one Linux kernel API that works is the "rule" system, which doesn't implement this semantics naturally. For this reason, we are inserting extra "disambiguation" routes for the intersection (192.168.4.42/32, 192.168.4.0/24) The exact algorithm is somewhat involved, and will be described at some later point. Enjoy the code in route.c in case you're interested. Limitations =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D - There are some limitations wrt. routes found in the kernel that were not installed by babeld. - Requests for source-specific routes are broken (we're working on it); this could cause starvation in some very unlikely cases. - The number of kernel tables used by the daemon cannot be configured yet. Usage =3D=3D=3D=3D=3D Without any special configuration, Babel-S reannounces source-specific routes received from other Babel peers and installs them in the kernel. In order to introduce source-specific routes in the network, some routers should redistribute their routes as source-specific. This is done via the "source-prefix" configuration option. For example, to redistribute his routes with the source 192.168.4.0/24, a router will be configured with: source-prefix 192.168.4.0/24 By default, Babel-S will use the routing tables 10 to 19 and the rules' priorities 100 to 109. You can see kernel rules and tables using the ip command: ip rule show ip route show table 10 Babel-S defines in total 5 new configuration options, described in details in the manual pages. These are: - source-specific - first-table-number - first-rule-priority - announce-with-default-source-prefix - install-specific This is experimental code, likely to change at any time. Any feedback will be very much welcome. -- Matthieu Boutier and Juliusz Chroboczek [1] https://github.com/fingon/hnet-core [2] http://www.pps.univ-paris-diderot.fr/~jch/software/babel/ _______________________________________________ Babel-users mailing list Babel-users@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/babel-users --=20 Dave T=E4ht Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.= html