Re: [homenet] [Babel-users] Detecting bridges

Juliusz Chroboczek <jch@pps.univ-paris-diderot.fr> Wed, 16 December 2015 17:02 UTC

Return-Path: <jch@pps.univ-paris-diderot.fr>
X-Original-To: homenet@ietfa.amsl.com
Delivered-To: homenet@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CAEF21A1B8F for <homenet@ietfa.amsl.com>; Wed, 16 Dec 2015 09:02:13 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.15
X-Spam-Level: *
X-Spam-Status: No, score=1.15 tagged_above=-999 required=5 tests=[BAYES_50=0.8, HELO_EQ_FR=0.35] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5peI8z4dfhi4 for <homenet@ietfa.amsl.com>; Wed, 16 Dec 2015 09:02:12 -0800 (PST)
Received: from korolev.univ-paris7.fr (korolev.univ-paris7.fr [IPv6:2001:660:3301:8000::1:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 22FC51A1EFD for <homenet@ietf.org>; Wed, 16 Dec 2015 09:01:56 -0800 (PST)
Received: from mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [81.194.30.253]) by korolev.univ-paris7.fr (8.14.4/8.14.4/relay1/56228) with ESMTP id tBGH1ss0005248; Wed, 16 Dec 2015 18:01:54 +0100
Received: from mailhub.math.univ-paris-diderot.fr (localhost [127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTP id 982DC61F9D; Wed, 16 Dec 2015 18:01:54 +0100 (CET)
X-Virus-Scanned: amavisd-new at math.univ-paris-diderot.fr
Received: from mailhub.math.univ-paris-diderot.fr ([127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id 5GpczqHFmJZa; Wed, 16 Dec 2015 18:01:47 +0100 (CET)
Received: from ijon.pps.univ-paris-diderot.fr (col75-1-78-194-40-74.fbxo.proxad.net [78.194.40.74]) (Authenticated sender: jch) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTPSA id 66CD361FA1; Wed, 16 Dec 2015 18:01:44 +0100 (CET)
Date: Wed, 16 Dec 2015 18:01:43 +0100
Message-ID: <87twni49ag.wl-jch@pps.univ-paris-diderot.fr>
From: Juliusz Chroboczek <jch@pps.univ-paris-diderot.fr>
To: Dave Taht <dave.taht@gmail.com>
In-Reply-To: <CAA93jw6FpfBpmszHBMVFgrEmdA-trDL5AjyW9ujXTiPda-ie7A@mail.gmail.com>
References: <566426C4.9000901@kos.mx> <7ia8pm1uuy.wl-jch@pps.univ-paris-diderot.fr> <5665A96A.8040708@kos.mx> <7izixmz15f.wl-jch@pps.univ-paris-diderot.fr> <56670C48.5000807@kos.mx> <566A976B.9010900@kos.mx> <566A9C87.20209@kos.mx> <C5753B93-CB4A-4620-9168-568B7DE0A868@pps.univ-paris-diderot.fr> <566B1622.5030102@kos.mx> <CAKLmikNcRB9OvgoYUjwePfrTkhApzXY3thvwGOqVDVynyKMrog@mail.gmail.com> <87si38s9u7.wl-jch@pps.univ-paris-diderot.fr> <CAKLmikOsg+TrOsv=h=JTMfgmSYvvYAs0nRdzHnb-5zYaOF_J4Q@mail.gmail.com> <566BFFFD.20704@kos.mx> <877fkjstgi.wl-jch@pps.univ-paris-diderot.fr> <566D569D.20705@kos.mx> <87k2oih2vi.wl-jch@pps.univ-paris-diderot.fr> <566D842C.4010002@kos.mx> <87fuz6gwgu.wl-jch@pps.univ-paris-diderot.fr> <12B9F58B-E806-48CC-BBBB-BA19BACC3406@pps.univ-paris-diderot.fr> <DC2F9C30-7406-4754-99CB-166EDC82F65A@pps.univ-paris-diderot.fr> <87wpsgkflk.wl-jch@pps.univ-paris-diderot.fr> <CAA93jw54JK-HqLt4MW=AGMEk=+vuMzvyMyT3=x9+q9nagEqMGQ@mail.gmail.com> <87r3ioke6t.wl-jch@pps.univ-paris-diderot.fr> <CAA93jw7+1SLumq2Ry88C=udF9dJTfW1f8KvJgyMn-8QvJxr_Lg@mail.gmail.com> <CAGnRvuqDsnaOCwmEQXwro7asjf-q1z66T2q-k56=+XEZjPtdoA@mail.gmail.com> <CAA93jw4aeVwK3aoN3Omp+ASqAPDujXf9mehx9BvJ2r=ec=hqxg@mail.gmail.com> <CAA93jw6FpfBpmszHBMVFgrEmdA-trDL5AjyW9ujXTiPda-ie7A@mail.gmail.com>
User-Agent: Wanderlust/2.15.9
MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue")
Content-Type: text/plain; charset="US-ASCII"
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (korolev.univ-paris7.fr [194.254.61.138]); Wed, 16 Dec 2015 18:01:54 +0100 (CET)
X-Miltered: at korolev with ID 56719902.000 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)!
X-j-chkmail-Enveloppe: 56719902.000 from mailhub.math.univ-paris-diderot.fr/mailhub.math.univ-paris-diderot.fr/null/mailhub.math.univ-paris-diderot.fr/<jch@pps.univ-paris-diderot.fr>
X-j-chkmail-Score: MSGID : 56719902.000 on korolev.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000
X-j-chkmail-Status: Ham
Archived-At: <http://mailarchive.ietf.org/arch/msg/homenet/iTtoAXmuCsswablP5VBsvPjmQSM>
Cc: homenet@ietf.org, "babel-users@lists.alioth.debian.org" <babel-users@lists.alioth.debian.org>, Mikael Abrahamsson <swmike@swm.pp.se>
Subject: Re: [homenet] [Babel-users] Detecting bridges
X-BeenThere: homenet@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: IETF Homenet WG mailing list <homenet.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/homenet>, <mailto:homenet-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/homenet/>
List-Post: <mailto:homenet@ietf.org>
List-Help: <mailto:homenet-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/homenet>, <mailto:homenet-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 16 Dec 2015 17:02:14 -0000

Added Mikael and the Homenet list to CC.

Homenet, the issue we're dealing with is that babeld performs badly when
there is a transparent wireless bridge connected to a wired interface: the
interface is treated as a lossless wired interface, and if it suffers
packet loss, there is repeated link flapping.  The issue surfaced in the
Slovenian community mesh, but it is likely to occur in a Homenet setting.

> the resulting nanog conversation on detecting wireless bridged ended
> up interesting - with several clever techniques proposed - all
> probably futile.

Yes.  Anoop Ghanwani is the one who gets it:

> bridges are supposed to be "transparent," so there is no way to know
> they are present by using user data frames.

Radia Perlman once said "Bridges don't make sense.  If you do packet
forwarding, you should do it on layer 3."  And then she went on to design
TRILL.

> I fear the default for babel should become etx or rtt as most of the
> world bridges wifi to ethernet.

It's not as bad as you make it.  Babeld automatically detects Linux
software bridges (which takes care of the default OpenWRT configuration)
as well as BATMAN intefaces (which takes care of the Italian community
meshes).  In 1.7.0, I'm planning to add a third interface type to babeld,
the "tunnel" type, and automatically enable it on tun/tap interfaces --
this should take care of OpenVPN tunnels.  (If you're interested, the
tunnel type will use a slightly different link-quality estimator, one that
is not bound to the 802.11 MAC, disable split horizon, and enable RTT
estimation.)

(Why disable split horizon?  People are running Babel over tap interfaces
in a point-to-multipoint topology.  Which is somewhat inefficient but
simpler to configure than multiple point-to-point tuns.)

The question remains about what to do with interfaces that appear as
normal wired interfaces, but could be bridged to wireless.  We currently
treat them as lossless wired interfaces, which gives fast reaction to link
failures (just 1.5 hello intervals on average) and no cost fluctuations,
which reduces the amount of control traffic.  However, this causes very
bad behaviour when there is a wireless bridge in the way -- it causes
repeated link failures, which causes massive instability --, and
suboptimal routing due to split horizon processing.

I can see the following possibilites:

 0. ignore the issue;

 1. use the wireless type by default (as with -w), people who have
    lossless wired links will need to configure them manually; this is bad
    for Homenet, which is expected to use wired links extensively, but
    perhaps it doesn't matter, Homenet can accept 15 seconds instead of 6;

 2. use the tunnel type by default; similar to the above, but perhaps
    slightly less drastic;

 3. find a way to make babeld less sensitive to links flapping in
    non-redundant networks (it already behaves well when the flapping link
    is redundant, but in a non-redundant topology it advertises every link
    flap across the routing domain).

Opinions?

-- Juliusz