Re: [babel] Shepherd Review of draft-ietf-babel-source-specific-04

Juliusz Chroboczek <jch@irif.fr> Thu, 11 April 2019 15:01 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 6358E120006 for <babel@ietfa.amsl.com>; Thu, 11 Apr 2019 08:01:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, 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 5HeZ1O6VEchF for <babel@ietfa.amsl.com>; Thu, 11 Apr 2019 08:01:50 -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 78029120383 for <babel@ietf.org>; Thu, 11 Apr 2019 08:01:50 -0700 (PDT)
Received: from mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [81.194.30.253]) by korolev.univ-paris7.fr (8.14.4/8.14.4/relay1/82085) with ESMTP id x3BF1ikI019477; Thu, 11 Apr 2019 17:01:44 +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 5B7E979BFF; Thu, 11 Apr 2019 17:01:48 +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 tNnElncyreDc; Thu, 11 Apr 2019 17:01:47 +0200 (CEST)
Received: from lanthane.irif.fr (unknown [172.23.36.89]) (Authenticated sender: jch) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTPSA id EC22979BFD; Thu, 11 Apr 2019 17:01:46 +0200 (CEST)
Date: Thu, 11 Apr 2019 17:01:46 +0200
Message-ID: <87imvkh9gl.wl-jch@irif.fr>
From: Juliusz Chroboczek <jch@irif.fr>
To: Donald Eastlake <d3e3e3@gmail.com>
Cc: Toke Høiland-Jørgensen <toke@toke.dk>, Babel at IETF <babel@ietf.org>
In-Reply-To: <CAF4+nEG_f_EkbmNQt4Z1Gu0PrmJX_ZZdthPdZzrokhLEuU4D4w@mail.gmail.com>
References: <CAF4+nEEfEvg_ktoudURqvCPshrA8SzL+TMGjQm6vUOFX65q==A@mail.gmail.com> <874l76xhto.wl-jch@irif.fr> <874l76w21k.fsf@toke.dk> <871s2axfei.wl-jch@irif.fr> <87y34iulxd.fsf@toke.dk> <87r2a9x3dd.wl-jch@irif.fr> <87wok1tvfx.fsf@toke.dk> <87ftqpwmkm.wl-jch@irif.fr> <CAF4+nEG_f_EkbmNQt4Z1Gu0PrmJX_ZZdthPdZzrokhLEuU4D4w@mail.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="US-ASCII"
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (korolev.univ-paris7.fr [194.254.61.138]); Thu, 11 Apr 2019 17:01:44 +0200 (CEST)
X-Miltered: at korolev with ID 5CAF56D8.003 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)!
X-j-chkmail-Enveloppe: 5CAF56D8.003 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 : 5CAF56D8.003 on korolev.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000
X-j-chkmail-Status: Ham
Archived-At: <https://mailarchive.ietf.org/arch/msg/babel/MCLW0t_6GQOUDudy-7Ytx9sSl74>
Subject: Re: [babel] Shepherd Review of draft-ietf-babel-source-specific-04
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: Thu, 11 Apr 2019 15:01:54 -0000

>     Babel is a distributed algorithm, and its correctness relies on all nodes
>     in a routing domain behaving correctly.  There are many ways in which
>     a buggy or malicious node can disrupt a Babel network, and an
>     implementation is not required to detect most of them.  (The most common
>     in production is a node that announces a route but doesn't actually
>     forward packets, e.g. due to a mis-configured firewall.)

[...]

> And it is a traditional desiderata in routing protocols in the
> IETF that in a network with mixed implementations, you can't originate a bad
> routing packet from a node and have a persistent loop or conceivably even
> scattered persistent loops form in your network.

I don't think that ideal is achievable.  For example, in OSPF or IS-IS, if
a router corrupts its LSDB, or fails to synchronise it in a timely manner,
then you will get persistent loops.  A similar thing will happen if a BGP
speaker erroneously or maliciously discards part of the AS-path (the
opposite of prepending, in a sense).

I agree with you, though, that even though we cannot handle all cases, we
should identify the cases that are easy to handle and either require or
recommend that a robust implementation avoid burning down the universe
when it receives an erroneous packet that is easy to detect.  My question
to Toke was whether this is one of the easy cases from the point of view
of his implementation.

> For example, if you are parsing a TLV it would be reasonable to set
> a flag when you see a valid Source Prefix sub-TLV and just remember the
> prefix specified, overwriting any previous source prefix seen in that
> TLV.

I agree, this appears to be a case that's easy to handle.

So -- MUST or SHOULD?  (I prefer SHOULD, both Toke and Donald appear to
prefer MUST, so I'll give myself some more time to think it over.)

-- Juliusz