Re: [babel] Example configuration

Mahesh Jethanandani <mjethanandani@gmail.com> Wed, 14 August 2019 00:18 UTC

Return-Path: <mjethanandani@gmail.com>
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 0D0E31200B2 for <babel@ietfa.amsl.com>; Tue, 13 Aug 2019 17:18:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 SPMIP_oHNVjP for <babel@ietfa.amsl.com>; Tue, 13 Aug 2019 17:18:37 -0700 (PDT)
Received: from mail-pg1-x544.google.com (mail-pg1-x544.google.com [IPv6:2607:f8b0:4864:20::544]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 52720120019 for <babel@ietf.org>; Tue, 13 Aug 2019 17:18:37 -0700 (PDT)
Received: by mail-pg1-x544.google.com with SMTP id o13so52100798pgp.12 for <babel@ietf.org>; Tue, 13 Aug 2019 17:18:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=Y5ZEFkBCn9zsPnCtKnDBF+fPmFzXdF4lY7ZWINIsURQ=; b=WArKKbHXCDyQiSYn88ZPx5u07LxJhNweUlnBKUemGVGA6N6mgsx0KJtIvTavgf2K3N T5xWq/3vmw/9L2jBgdxhZqp9Qhp7TsGrsfUKibKTacZW1RcBezQNfxKtzLkvbojFNqBl SjmOtIWgValFbN2OfhQnit72rnN8xWi4PwI4pkJErIf78eJib6CT1aB+6K7jkVvqtoXV OuFyHn2lyCl3ue0Cj6DSEEQ7jxrj/MXb3kGSn4jfBEmvuaaCxSxPZMnV050smzWfYSaJ Keyd1h23UHXHn9aoWGy6XROuEkinV7WStx9TCPpubKl+d40YixnQxNVxNF6konJlRFuP ZwYA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=Y5ZEFkBCn9zsPnCtKnDBF+fPmFzXdF4lY7ZWINIsURQ=; b=Z7mYaSqOc+ENrWWVs5qkUGThg/++nxOXj3wMmLnAHluFChPgj2Teyag54LlFCGl7CX qkksc02K4ysF5BDE2NnkxK4h+MwRCiCx75eJ1Mq3TP1eNcqPRjSrvSGWqC61kwYf8Hvo 4idClOtJQLU9ffPnJ3k3KJht6/rwOX0nzF6MZf9Wd+QF32zhBHNAUf5S74dcrZthRiHP ZJgMDMlWQt2ic8tjb9hhC42Cih4dW1Mo4cWNf6KkRNGOpa9P0RGOo28X/RFAgt/8Zrfv WjzWUeZjTm+2HtUn2uP/ZUFGS3t1pWd7ack9bxon7SKNxlX6pr6YhX6I0PmuX1xbsZkq XVCA==
X-Gm-Message-State: APjAAAUtbdiF4U8WHnRJmIQpSTNx8GYeyyPbAcHCPQdgP9EOwO/USfJh x2QzuvJbrjxuZvbGJ4RBS+E=
X-Google-Smtp-Source: APXvYqxZc3/wf5noYUVFJtGbuiq0rADiepmgWl40Wpw0PjZNYPZKKOGgj3Mtx+yECAe0sf7Q4ClHsA==
X-Received: by 2002:a63:df06:: with SMTP id u6mr34522391pgg.96.1565741916611; Tue, 13 Aug 2019 17:18:36 -0700 (PDT)
Received: from [10.33.122.240] ([66.170.99.1]) by smtp.gmail.com with ESMTPSA id k5sm9069416pfg.167.2019.08.13.17.18.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 13 Aug 2019 17:18:35 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
From: Mahesh Jethanandani <mjethanandani@gmail.com>
In-Reply-To: <2D09D61DDFA73D4C884805CC7865E6114E2680FE@GAALPA1MSGUSRBF.ITServices.sbc.com>
Date: Tue, 13 Aug 2019 17:18:33 -0700
Cc: Juliusz Chroboczek <jch@irif.fr>, Toke Høiland-Jørgensen <toke@toke.dk>, Babel at IETF <babel@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <9554AC75-4674-4EB2-B40D-26CA383E3343@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> <8736ieasm6.wl-jch@irif.fr> <EF249683-1BB0-4686-A77A-847E64E4EA50@gmail.com> <87pnlhaixh.wl-jch@irif.fr> <2D09D61DDFA73D4C884805CC7865E6114E257961@GAALPA1MSGUSRBF.ITServices.sbc.com> <0B28A1FA-32B4-41E6-B646-C6A3907E9CCC@gmail.com> <2D09D61DDFA73D4C884805CC7865E6114E258CF7@GAALPA1MSGUSRBF.ITServices.sbc.com> <B2CE14DA-DEDA-40FB-AA96-FB4009F5FA19@gmail.com> <2D09D61DDFA73D4C884805CC7865E6114E25905B@GAALPA1MSGUSRBF.ITServices.sbc.com> <87lfw3u52i.fsf@toke.dk> <110D87BA-BBA1-417B-9BC3-77BAD4B201D1@gmail.com> <87ftmbs92f.fsf@toke.dk> <26F1A0CD-1FD2-456E-B295-8A60D93CF8E0@gmail.com> <87sgqbmhhe.wl-jch@irif.fr> <F30C9756-5104-4A43-BDD9-008FF3011362@gmail.com> <2D09D61DDFA73D4C884805CC7865E6114E2680FE@GAALPA1MSGUSRBF.ITServices.sbc.com>
To: "STARK, BARBARA H" <bs7652@att.com>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/babel/uJT-1P2_6-GYhfHALLYAXr1R0Ms>
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: Wed, 14 Aug 2019 00:18:40 -0000

Hi Barbara, et. all, 

If you are managing a small number of interfaces (< 10 in my mind), then your approach is simpler. Configure link properties per interface and be done, even if means repeating the configuration on those 10 interfaces.

If we are talking about a larger set, then the complexity might be worth it, simply to allow changes in one place.

The question therefore comes down to, what is the normal number of interfaces a device will configure to run babeld?

Cheers.

> On Aug 13, 2019, at 3:51 PM, STARK, BARBARA H <bs7652@att.com> wrote:
> 
> I've been ruminating long and hard on this idea of abstracting the link properties.
> I'm thinking this abstraction really is too complex, and I'd prefer to just stick with the properties under interface.
> But, I think it would be reasonable to add language that describes what link characteristics make a particular choice preferred over other choices.
> If a user really wants to change one of these (and Babel is designed not to require manual changes to link properties in most cases), then they just need to know what they're doing. 
> Complexities creep in wrt user language (so users do need to customize the name, which means it can't be immutable), growing permutations as more properties are defined, etc.
> 
> Language I suggest:
> 
>   babel-metric-comp-algorithms:  List of supported cost computation
>      algorithms.  Possible values include "2-out-of-3", and "ETX".
>      "2-out-of-3" (a specific case of K-out-of-j ) link sensing is suitable for wired links that are either
>       up, in which case they only occasionally drop a packet, or down, in
>       which case they drop all packets. "ETX" is a link-quality estimation algorithm that is
>       designed to work well with the IEEE 802.11 MAC.
> 
>   babel-interface-split-horizon:  Indicates whether or not the split
>      horizon optimization is used when calculating metrics on this
>      interface.  A value of true indicates split horizon optimization
>      is used. Split horizon optimization is useful when running over a
>      transitive, symmetric link technology, e.g., a
>      point-to-point link or a wired LAN technology such as Ethernet. 
>      It is not appropriate for links not known to be symmetric and transitive; in particular,
>      split horizon is not appropriate for decentralized wireless link
>      technologies (e.g., IEEE 802.11 in ad hoc mode) when routing updates
>      are sent over multicast.
> 
> Barbara
> 
>>>> In the second example, the operator will define a
>>>> babel-link-properties-obj, call it “radio” or “wireless” or anything
>>>> they want, and within that object set the
>>>> babel-interface-metric-algorithm (because it a mandatory parameter),
>>>> and set the babel-split-horizon to false. They will then associate “radio”
>> object with eth1 interface.
>>> 
>>> Can the UI simulate the babel-link-properties-obj without it being
>>> part of the model?
>> 
>> Before I answer that question, let me know if the following answers help. If
>> they do not, I am afraid that we will need a whiteboard discussion on
>> management interface and the role YANG plays in it.
>> 
>>> 
>>> I.e. the operator defines a set of values called "radio", this set
>>> only exists within the UI.
>> 
>> “radio” in my example is what you call UIs, just like “wireless”. Therefore
>> when you say “set of values called “radio””, I read it as set of link properties
>> that you want to club together and associate with a name, and that name is
>> “radio". Is that correct?
>> 
>>> The operator then applies "radio" to a number of interfaces, and the
>>> frontend applies the individual values contained in the "radio"
>>> dictionary to each of those interfaces.
>> 
>> 
>> But that is exactly what the new babel-link-properties-obj allows you to do. It
>> allows you to define any number of babel-link-properties-obj, and name
>> them whatever you want, e.g. “radio”, “wired”, “wireless” etc, or what you
>> call “UI". In each of the babel-link-properties-obj you set the properties you
>> want, e.g. split horizon, rtt, etc.  As a final step you associate any of the
>> defined UI with any number of interfaces. When you associate the given UI
>> with an interface, all the link properties defined as part of that UI are then
>> applied on the interface.
>> 
>> Did that answer your question, or confuse you even more?
>> 
>>> 
>>> Or does YANG require that the UI reflect the model?
>> 
>>> 
>>> -- Juliusz
>> 
>> Mahesh Jethanandani
>> mjethanandani@gmail.com
>> 
>> 
> 

Mahesh Jethanandani
mjethanandani@gmail.com