Re: [homenet] ISIS wifi testing

Juliusz Chroboczek <> Thu, 29 October 2015 13:36 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 1C54D1A8034 for <>; Thu, 29 Oct 2015 06:36:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: 2.35
X-Spam-Level: **
X-Spam-Status: No, score=2.35 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FR_DOT_FEVER_5=3.9, HELO_EQ_FR=0.35] autolearn=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id uXNUau22FnD8 for <>; Thu, 29 Oct 2015 06:36:42 -0700 (PDT)
Received: from ( [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 (Postfix) with ESMTPS id B20421A711A for <>; Thu, 29 Oct 2015 06:36:37 -0700 (PDT)
Received: from ( []) by (8.14.4/8.14.4/relay1/56228) with ESMTP id t9TDaZwD026833; Thu, 29 Oct 2015 14:36:35 +0100
Received: from (localhost []) by (Postfix) with ESMTP id AAC1461FA9; Thu, 29 Oct 2015 14:36:35 +0100 (CET)
X-Virus-Scanned: amavisd-new at
Received: from ([]) by ( []) (amavisd-new, port 10023) with ESMTP id yPzWsnD5ssd0; Thu, 29 Oct 2015 14:36:34 +0100 (CET)
Received: from ( []) (Authenticated sender: jch) by (Postfix) with ESMTPSA id F03DE61FA5; Thu, 29 Oct 2015 14:36:33 +0100 (CET)
Date: Thu, 29 Oct 2015 14:36:34 +0100
Message-ID: <>
From: Juliusz Chroboczek <>
To: Mikael Abrahamsson <>
In-Reply-To: <>
References: <> <> <>
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 ( []); Thu, 29 Oct 2015 14:36:35 +0100 (CET)
X-Miltered: at korolev with ID 563220E3.002 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)!
X-j-chkmail-Enveloppe: 563220E3.002 from<>
X-j-chkmail-Score: MSGID : 563220E3.002 on : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000
X-j-chkmail-Status: Ham
Archived-At: <>
Subject: Re: [homenet] ISIS wifi testing
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: IETF Homenet WG mailing list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 29 Oct 2015 13:36:44 -0000

Thanks a lot for doing that, Mikael.  Dynamically computed metrics are an
essential aspect of zero-configuration routing, sadly overlooked by the
IS-IS community in the past.

> I'd say both protocols/implementations are doing a decent job.

Interesting.  I didn't expect SNR to be such a good predictor of usable
throughput.  I'd be interested to see something similar in a crowded
environment (see the "cross-traffic" note at the bottom of this mail).

> Babel[d], not knowing anything about the actual radio parameters, tends to
> stick around on a going-bad wifi, until it's really bad and basically
> stops working, then it switches around.

(I'm trying to distinguish babeld, the implementation, from Babel, the

Yes.  Babeld applies hysteresis before route selection in order to avoid
excessive oscillations in highly congested environments.  You can disable
the hysteresis mechanism by setting

  smoothing-half-life 0

in the config file.  The default is 4, which means that we'll switch 8 to
12 seconds later than expected from ETX computation, or when ETX yields

> Both protocols really prefers single wifi hop instead of 2 wifi hops,
> even if the 2 wifi hops are a lot better than the single wifi hop.


> In order to actually optimize wifi, I'd say both protocols need to know
> more about the speed the wifi is averaging at, and SNR would also be of
> interest (currently IS-IS only uses SNR).

Right.  Babeld should multiply the result of ETX by 1/rate, where rate is
the data rate chosen by the link layer.  That's a little tricky to do
right (it requires consulting the ND cache in order to map link-local IPv6
addresses to MAC addresses), and I have more urgent stuff on the table.

> None of them are doing a great job, but to do a great job, I'd imagine
> the solution would be a lot more complicated.

As far as I know, nobody's doing a great job.  Radio is weird, and finding
a set of heuristics to accurately predict throughput is an open research
problem.  There's been a lot of papers about "cross-layer approaches", but
most researchers are only evaluating in simulation.

(Meraki might have something, but since they've gone proprietary and
secretive, they've excluded themselves from the community.  But then,
they appear to be concentrating on manageability nowadays, so perhaps not.)

> I still do not know what topologies we're expecting to see.

Experience with my users -- admittedly a biased sample, and not necessarily
representative of the Homenet userbase -- shows that they care about
worst-case behaviour in a stationary network.  They have no problem
waiting for a few seconds after a mobility event; on the other hand, they
do object if the routing exhibits instability in the presence of
congestion and interference.  Hence the hysteresis algorithm, and its
conservative default tuning of a half-life of 4s.

> For now I have only tested IS-IS with "ipv6 and P2MP" setup. I'm going to
> test in broadcast mode now and see if there are some obvious differences,

I'm very much interested in that.

> I don't believe there will be since my radio environment is not extremely
> crowded and they're mostly used for point-to-point link.

You should test with cross traffic:

    A .................. B
    .                    .
    .                    .
    .                    .
    C .................. D

Measure from A to D while simultanously running iperf from C to B.  You
should measure both ping (low traffic) and iperf packet loss (high throughput).

-- Juliusz