Re: [babel] Example configuration

Juliusz Chroboczek <jch@irif.fr> Tue, 06 August 2019 21:31 UTC

Return-Path: <jch@irif.fr>
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 A6786120033 for <babel@ietfa.amsl.com>; Tue, 6 Aug 2019 14:31:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-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 guxLD05SMXFM for <babel@ietfa.amsl.com>; Tue, 6 Aug 2019 14:31:20 -0700 (PDT)
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 13A76120025 for <babel@ietf.org>; Tue, 6 Aug 2019 14:31:19 -0700 (PDT)
Received: from potemkin.univ-paris7.fr (potemkin.univ-paris7.fr [IPv6:2001:660:3301:8000::1:1]) by korolev.univ-paris7.fr (8.14.4/8.14.4/relay1/82085) with ESMTP id x76LVEbe025747 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 6 Aug 2019 23:31:14 +0200
Received: from mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [81.194.30.253]) by potemkin.univ-paris7.fr (8.14.4/8.14.4/relay2/82085) with ESMTP id x76LVE0H029429; Tue, 6 Aug 2019 23:31:14 +0200
Received: from mailhub.math.univ-paris-diderot.fr (localhost [127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTP id 972B44C22A; Tue, 6 Aug 2019 23:31:17 +0200 (CEST)
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 vb9spdCEB3u3; Tue, 6 Aug 2019 23:31:16 +0200 (CEST)
Received: from pirx.irif.fr (unknown [78.194.40.74]) (Authenticated sender: jch) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTPSA id 089724C227; Tue, 6 Aug 2019 23:31:14 +0200 (CEST)
Date: Tue, 06 Aug 2019 23:31:13 +0200
Message-ID: <8736ieasm6.wl-jch@irif.fr>
From: Juliusz Chroboczek <jch@irif.fr>
To: Mahesh Jethanandani <mjethanandani@gmail.com>
Cc: Babel at IETF <babel@ietf.org>
In-Reply-To: <1C6F628C-7A3C-4D66-9930-9F0244A20722@gmail.com>
References: <E726ED50-6D90-4537-B237-6E52D375F50B@gmail.com> <8736itu6j8.wl-jch@irif.fr> <0E0A89B7-3D7A-4605-8776-2CF685B268B0@gmail.com> <877e7qaxte.wl-jch@irif.fr> <1C6F628C-7A3C-4D66-9930-9F0244A20722@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="UTF-8"
Content-Transfer-Encoding: 8bit
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (korolev.univ-paris7.fr [IPv6:2001:660:3301:8000::1:2]); Tue, 06 Aug 2019 23:31:14 +0200 (CEST)
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (potemkin.univ-paris7.fr [194.254.61.141]); Tue, 06 Aug 2019 23:31:15 +0200 (CEST)
X-Miltered: at korolev with ID 5D49F1A2.000 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)!
X-Miltered: at potemkin with ID 5D49F1A2.001 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)!
X-j-chkmail-Enveloppe: 5D49F1A2.000 from potemkin.univ-paris7.fr/potemkin.univ-paris7.fr/null/potemkin.univ-paris7.fr/<jch@irif.fr>
X-j-chkmail-Enveloppe: 5D49F1A2.001 from mailhub.math.univ-paris-diderot.fr/mailhub.math.univ-paris-diderot.fr/null/mailhub.math.univ-paris-diderot.fr/<jch@irif.fr>
X-j-chkmail-Score: MSGID : 5D49F1A2.000 on korolev.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000
X-j-chkmail-Score: MSGID : 5D49F1A2.001 on potemkin.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000
X-j-chkmail-Status: Ham
X-j-chkmail-Status: Ham
Archived-At: <https://mailarchive.ietf.org/arch/msg/babel/2RnAjHyNM4s2dr0g0XgmQHA4ATA>
Subject: Re: [babel] Example configuration
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: Tue, 06 Aug 2019 21:31:23 -0000

> I am also not clear on the underlying properties. If the interface is eth1,
> its underlying property will be of a wired 802.3 like interface. I thought the
> whole idea of specifying the type was an indication that eth1 is an Ethernet
> bridged to a wireless radio. How would you derive a ‘wireless’ like
> information from the underlying property?

The protocol doesn't know about interface types.  From the point of view
of the protocol, there are a number of algorithms that can optionally be
selected or enabled on a given interface.  These include:

  - link-quality estimation (2-out-of-3 or ETX);
  - split-horizon (on or off);
  - RTT estimation (draft-ietf-babel-rtt);
  - use of unicast instead of multicast;
  - ...

The choice of parameters requires intimate knowledge of the protocol and
the implementation.  For that reason, the babeld implementation packages
useful combinations within the interface type parameter

  "type wired" is a shortcut for "link-quality 2-out-of-3 split-horizon true"
  "type wireless" is a shortcut for "link-quality etc split-horizon false"
  "type tunnel" is a shortcut for "link-quality 2-out-of-3 max-rtt-penalty 96"

However, other combinations are possible, and some of them are actually
useful -- "link-quality 2-out-of-3 split-horizon false" makes perfect
sense for an NBMA network.  Therefore, the interface type cannot in
general be synthesized from the configuration parameters of the interface.

So what's the information model to do?  My opinion is to consider the
interface type as a UI issue, and put the underlying parameters in the
information model, which is what Barbara has implemented in -08.  Other
solutions are possible, of course, and I'm quite open to considering them
if someone has a plan.

> Just to confirm. Both babel-mcast-hello-interval and babel-update-interval
> need to be read-write (configurable) properties.

Aye.

>     Filters are a separate kind of entity, and need not contain an interface
>     entry.  For example, one may say

>      in ip 10.0.0.0/8 metric 128

>     in which case the filter applies to all routes with a destination in 10/8.

> In other words, a global configuration that applies across all routes with
> that destination. I am not aware of any way to do this with our current
> information model. We are looking at an addition to the information model.

Here's what other YANG models do:

  - the RIP YANG model ignores filtering, although most RIP
    implementations support it;
  - the BGP YANG model imports draft-ietf-rtgwg-policy-model.

I suggest we follow the lead of RIP, and consider filtering as out of
scope for the YANG model.  Filtering is a complex beast, it tends to grow
over time (it's the cleanest place to add implementation-specific hooks),
and I don't think we have the manpower to do a good job.

> * Change babel-mcast-hello-interval and babel-update-interval to rw property.

Yes.

> * Add global level filter capability

Not necessarily.  See above.

> * Add a way to mark an interface for unicast-preferred (please feel free to
>   suggest a better name), and unicast-only as boolean configurable properties.

Babeld calles the former simply "unicast".  The latter is not implemented
yet, so please don't define it yet, it might never happen.

> * Add a capability to specify a link-local address for a neighbor.

Not quite -- it's about defining a static neighbour for unicast-only
operation.  Again, it might never happen.

-- Juliusz