Re: [babel] RFT: Babel RTT extension in Bird

Ondrej Zajicek <santiago@crfreenet.org> Fri, 22 April 2022 15:35 UTC

Return-Path: <santiago@crfreenet.org>
X-Original-To: babel@ietfa.amsl.com
Delivered-To: babel@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4C2EC3A1730 for <babel@ietfa.amsl.com>; Fri, 22 Apr 2022 08:35:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.909
X-Spam-Level:
X-Spam-Status: No, score=-1.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 TS9fMUY1bE3v for <babel@ietfa.amsl.com>; Fri, 22 Apr 2022 08:35:09 -0700 (PDT)
Received: from mail.crfreenet.org (varda.crfreenet.org [185.133.240.16]) by ietfa.amsl.com (Postfix) with ESMTP id 1F5273A1739 for <babel@ietf.org>; Fri, 22 Apr 2022 08:35:08 -0700 (PDT)
Received: from feanor (slizka.chapadla.cz [93.99.228.74]) by mail.crfreenet.org (Postfix) with ESMTP id 0B5651F6A9E; Fri, 22 Apr 2022 17:35:05 +0200 (CEST)
Date: Fri, 22 Apr 2022 17:35:23 +0200
From: Ondrej Zajicek <santiago@crfreenet.org>
To: Toke Høiland-Jørgensen <toke@toke.dk>
Cc: babel@ietf.org, babel-users@alioth-lists.debian.net, bird-users@network.cz
Message-ID: <YmLLO1sZMpg+SM/N@feanor.crfreenet.org>
References: <87y1zyf15t.fsf@toke.dk>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
In-Reply-To: <87y1zyf15t.fsf@toke.dk>
X-Operating-System: Debian GNU/Linux
Archived-At: <https://mailarchive.ietf.org/arch/msg/babel/ievQvN24N6xZ0gY9QvuYD8JLzpo>
Subject: Re: [babel] RFT: Babel RTT extension in Bird
X-BeenThere: babel@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "A list for discussion of the Babel Routing Protocol." <babel.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/babel>, <mailto:babel-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/babel/>
List-Post: <mailto:babel@ietf.org>
List-Help: <mailto:babel-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/babel>, <mailto:babel-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 22 Apr 2022 15:35:14 -0000

On Fri, Apr 22, 2022 at 01:48:46AM +0200, Toke Høiland-Jørgensen wrote:
> Hi everyone
> 
> I've implemented the Babel RTT extension specified in
> draft-ietf-babel-rtt-extension in Bird. I've tested that it talks to
> babeld on a single link and that the two implementations agree on each
> others' (smoothed) RTT values. However, I'd like to subject the code to
> some more tortured testing before submitting it to upstream Bird. So I'm
> sending this note as a request for testing.

Hi

That seems like an interesting idea, especially for things like
automatically switching between multiple Wireguard tunnel concentrators.

Did not yet checked the code how smoothing is done here, but seems to me
that considering:

1) There is baseline RTT from distance / speed of propagation
2) There is one-side noise from congestion
3) The metric should be based on 1) and suppress effects of 2)

It would make sense to use something like running minimum instead of
running average.


> The code currently lives here:
> 
> https://github.com/tohojo/bird/tree/babel-rtt-01
> 
> To compile it, do:
> 
>  git clone -b babel-rtt-01 https://github.com/tohojo/bird
>  cd bird && autoreconf && ./configure && make
> 
> To run it, create a config file enabling the RTT extension; the simplest
> way to do this is to set the interface type to 'tunnel'.

There is one thing that is IMHO a bit strange, type wired/wireless/tunnel
option is just an indirect way of set k-from-j / ETX / RTT-based cost
algorithm. But RTT-based cost have applications that are unrelated to
tunnels.

Seems to me that it would make sense to have a direct option to set the
cost algorithm (and just that), while the 'type' option would provide
reasonable default for that (and possibly other options).

-- 
Elen sila lumenn' omentielvo

Ondrej 'Santiago' Zajicek (email: santiago@crfreenet.org)
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net)
"To err is human -- to blame it on a computer is even more so."