Re: [babel] info model: configurability of intervals

Toke Høiland-Jørgensen <> Wed, 24 February 2021 17:00 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 8F9653A1812 for <>; Wed, 24 Feb 2021 09:00:34 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id mkDa89K3NcRH for <>; Wed, 24 Feb 2021 09:00:31 -0800 (PST)
Received: from ( [IPv6:2a0c:4d80:42:2001::664]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 8D1713A1810 for <>; Wed, 24 Feb 2021 09:00:30 -0800 (PST)
From: Toke Høiland-Jørgensen <>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;; s=20161023; t=1614186025; bh=n4nO3pszP3EXqz5pHEZzxOtarSJDg/Ykz26k8+K90Jk=; h=From:To:Subject:In-Reply-To:References:Date:From; b=lYeraDsD+QNDzRn1Uuh6819naswrlcdI+FzgHvguH6+ULXcdvPUY+v6UKfIg6LcLE ENz8uLlmPDhbXgcS01WOmpEkU14HtG077lryKwv6VLuCktlsVs+/uPNpNpYpVWBUA+ qPUM/83d3VwydIL+ggdq8+owm6C/fGcwfg6VI/XiC6c7LF492Psg/DUJCFQ+gAgm4p EEIjz2enhmzlgb1ebeSWjAEWn8Gm6mhsGQHHOLFPqS0x+32SC0fAHrML4/gX3jdson a2RdrPyT6m678rVPub/QFWWgElv952LjpT7oRIisCCaGsiDZX4yx4qB+RminCLOwDO 3VgRh5RIzh8lw==
To: "STARK, BARBARA H" <>, "''" <>
In-Reply-To: <>
References: <>
Date: Wed, 24 Feb 2021 18:00:24 +0100
X-Clacks-Overhead: GNU Terry Pratchett
Message-ID: <>
MIME-Version: 1.0
Content-Type: text/plain
Archived-At: <>
Subject: Re: [babel] info model: configurability of intervals
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "A list for discussion of the Babel Routing Protocol." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 24 Feb 2021 17:00:35 -0000

"STARK, BARBARA H" <> writes:

> Hi Babel,
> There's a question about the need to support configurability of
> interval parameters. Right now, they're all read-only. RFC 8966
> indicates they can change, and back in August 2018, we discussed
> intervals:
> That particular email says:
> ===============
> [Toke]>>> Both Hello and Update intervals are configurable in Bird,
> [Barbara]>> Cool. Do you make them configurable per interface, or globally?
> [Toke]> Per interface.
> [Juliusz]Same thing in babeld.  (There's also a global value, but it's only used to
> configure interfaces that don't have specific values configured.)
> (As to IHUs, babeld dynamically computes an interval from the Hello
> interval and the estimated loss rate.)
> ==================
> Juliusz indicates in this that IHU intervals are dynamically computed.
> I can't find it in any of the emails, but I think somehow there was a
> determination that configuration of all intervals was done by the
> implementation based on costs/metrics, and that no *external*
> configuration of intervals was supported (or desirable). Is that
> accurate, or should intervals be configurable via the info/data
> models?

I think there can be some value in making them configurable. I.e., if
you know you network is really stable and never drops packets, you can
set a really high interval and rely on triggered updates for the
in-between stuff, thus saving some overhead. Conversely, if you know
devices have a tendency to drop off the network with no warning you can
set a really low interval to quickly flush out disappearing devices by
timeout, at the cost of more signalling overhead. Doing such things
require operational knowledge, so setting them by the management
interface seems reasonable.

On the other hand, we also want implementations to be able to make
decisions about things on their own: e.g., babeld will try to detect if
an interface is wireless, and if so automatically apply different
parameters to it, which includes changing the intervals (IIRC). That
should also be allowed, so the information model should leave room for
implementations to pick their own settings as well...