From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-iy0-f171.google.com (mail-iy0-f171.google.com [209.85.210.171]) (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 94602200373 for ; Mon, 23 Jan 2012 23:48:24 -0800 (PST) Received: by iaeh11 with SMTP id h11so6903643iae.16 for ; Mon, 23 Jan 2012 23:48:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=CMkW3aEYPsFNvpvxfYEF8UV5G5Hc5VXl0aXVv8b0+8U=; b=lfcym9ygGmAvlOM6Ain8L9BaqQI/S6ZJV2gVCdyBTJEn1NIwzaFrzARQdLgzsnZ1lY Npr5vCTWJqa+yPlypKj1W3JfjAR90duV6wNbz9nZwF0TelU4WFrLdXYeJN90Zu0yD7r0 5Y/XdNaZe40Whi7zljSIZzRPXXxxN3hhYXByE= MIME-Version: 1.0 Received: by 10.50.77.234 with SMTP id v10mr1055733igw.29.1327391303769; Mon, 23 Jan 2012 23:48:23 -0800 (PST) Received: by 10.231.7.21 with HTTP; Mon, 23 Jan 2012 23:48:23 -0800 (PST) In-Reply-To: <7iobtudmxu.fsf@lanthane.pps.jussieu.fr> References: <7iobtudmxu.fsf@lanthane.pps.jussieu.fr> Date: Tue, 24 Jan 2012 08:48:23 +0100 Message-ID: From: Dave Taht To: cerowrt-devel@lists.bufferbloat.net Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: "Bahubali \"Bill\" Shetti" Subject: [Cerowrt-devel] Fwd: [Babel-users] [Denis Ovsienko] a preview of Babel, new routing protocol, is available 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: Tue, 24 Jan 2012 07:48:24 -0000 I am happy to see the babel protocol (what's in cerowrt by default) is now taken up into quagga. Quagga has long been available as an option in cerowrt, and I would like to have the integration with other EGPs (such as BGP) to be able to seriously in cerowrt, as well as to be able to more easily do a 'face-off' between babel and other more well known protocols such as OSPF. This doesn't mean that the next release of 'cero' will have quagga based babel in it! Perhaps the one after, however. Having a routing protocol in cerowrt has been a great use in testing, in a peculiar way - when an interface fails for any reason on the testbed, I see it rather quickly reflected in the routing table... and I've extolled the advantages of seamless wired to wireless networking and back again elsewhere. ---------- Forwarded message ---------- From:=A0Denis Ovsienko To:=A0quagga-dev@lists.quagga.net, quagga-users@lists.quagga.net Cc:=A0Matthieu Boutier , Juliusz Chroboczek Date:=A0Sun, 22 Jan 2012 18:03:26 +0400 Subject:=A0a preview of Babel, new routing protocol, is available Hello, all. It is the time to update on the new routing protocol daemon, "babeld", which is available in the development branches of Quagga. Babel is a routing protocol designed by Juliusz Chroboczek with the specific purpose of routing wireless networks in mind. The protocol used to be implemented in a standalone babeld software, and Juliusz's colleague, Matthieu Boutier, is now making it available as one of the Quagga components. I have personally verified, that the involved changes do not interfere with any other Quagga daemon (at least in the RE-testing-0.99 branch), and that the current implementation allows a couple of routers to learn each other's IPv6 loopback addresses over a IPv6 link and install respective routes into kernel FIB. Matthieu and Juliusz can surely refer to examples of larger-scale deployments of Babel. Getting your own Babel testbed is as easy as checking Quagga out of git and building it. To be specific, the following branches at the time of this writing are known to work: git://code.quagga.net/quagga-RE.git (commit f05fecd) git://github.com/boutier/babeld-for-quagga.git (commit 78b1013) I had put the following into babeld.conf to make it work: ! password z service advanced-vty ! router babel =A0network eth0 =A0redistribute kernel =A0redistribute connected =A0redistribute static ! log file /var/log/quagga/babeld.log ! The result looks like this (30::1/128 is the loopback interface of the remote host): localhost.localdomain# sh ipv6 route Codes: K - kernel route, C - connected, S - static, R - RIPng, =A0 =A0 =A0 O - OSPFv6, I - IS-IS, B - BGP, A - Babel, =A0 =A0 =A0 > - selected route, * - FIB route C>* ::1/128 is directly connected, lo C>* 20::1/128 is directly connected, dummy0 A>* 30::1/128 [95/0] via fe80::22cf:30ff:fe02:b052, eth0 C * fe80::/64 is directly connected, eth0 C * fe80::/64 is directly connected, wlan0 C>* fe80::/64 is directly connected, dummy0 localhost.localdomain# In the process of setting it up I realized the need to understand what in particular the routing processes are exchanging. This is quite hard without a packet analyzer understanding Babel protocol packets, i.e. Wireshark 1.6.5 or tcpdump 4.2.1. The former is available in Fedora 16, which I didn't have handy at the time of setup, but the latter compiled and installed just fine. For example, this is an example of a regular periodic PDU dissection once the adjacency is established: 17:50:51.326330 IP6 (hlim 1, next-header UDP (17) payload length: 115) fe80::217:42ff:fe3e:3612.6696 > ff02::1:6.6696: [udp sum ok] babel 2 (103) =A0 =A0 =A0 =A0Hello seqno 15804 interval 400 =A0 =A0 =A0 =A0IHU fe80::22cf:30ff:fe02:b052 txcost 96 interval 1200 =A0 =A0 =A0 =A0Router Id 62:69:23:ff:fe:69:d9:52 =A0 =A0 =A0 =A0Update/prefix 30::1/128 metric 96 seqno 2794 interval 1600 =A0 =A0 =A0 =A0Router Id d6:98:f9:ff:fe:e7:08:96 =A0 =A0 =A0 =A0Update/prefix 20::1/128 metric 0 seqno 21994 interval 1600 To sum it up, this effort is still a work in progress, but all hidden bugs are believed to be isolated in the babeld process. In case you manage to approach such a bug, please file it to the standard Quagga bugzilla, it will be dispatched appropriately. Thanks for reading! -- =A0 =A0Denis Ovsienko