[Bgp-autoconf] Short comparison of the different documents.

Warren Kumari <warren@kumari.net> Sat, 29 February 2020 20:52 UTC

Return-Path: <warren@kumari.net>
X-Original-To: bgp-autoconf@ietfa.amsl.com
Delivered-To: bgp-autoconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B47043A132D for <bgp-autoconf@ietfa.amsl.com>; Sat, 29 Feb 2020 12:52:53 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, 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=kumari-net.20150623.gappssmtp.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 aP6QGYQpcEpj for <bgp-autoconf@ietfa.amsl.com>; Sat, 29 Feb 2020 12:52:51 -0800 (PST)
Received: from mail-qk1-x72a.google.com (mail-qk1-x72a.google.com [IPv6:2607:f8b0:4864:20::72a]) (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 A70D93A1328 for <bgp-autoconf@ietf.org>; Sat, 29 Feb 2020 12:52:51 -0800 (PST)
Received: by mail-qk1-x72a.google.com with SMTP id h22so1111036qke.5 for <bgp-autoconf@ietf.org>; Sat, 29 Feb 2020 12:52:51 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kumari-net.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=lRIdq/hffnPvstmtYF5C/9n/qMSpGLjCwJlQ2jVm+KI=; b=bdIiACmnY44MdA76QqQn8NhB16+SktxVmMdhDuja3WsMqYZqEBfcCnNjICr/4qU3lc vAqgQkhQpvtsT3tFmqPNhJgCkasCQN4098jv53DbHXxAPzWIkU5Gq0IkMqiXwIqvWiWT a3loCaktjz5NhQKKo/vBHdxnYfQlbs25qNPGEIKetYqY7AM2WihETzzZ+JssE81ypxzn yNvpaRAiFy6s7SSHZ/Bhgc1sRyUbMKVADFvL8TGOT8mTjfBVSUjhVwpXqkWuKYwRTvD6 EiVDjdrxMtRytAEiR1+0i6PIEap4UKsFJVMkWfso1PWFm4czVcuih5LOTJYnjIBQwS62 my/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=lRIdq/hffnPvstmtYF5C/9n/qMSpGLjCwJlQ2jVm+KI=; b=g7R2jJ4lrFAsrSIjIqRh9yHhrUX9U0BaBUajTQdvuj3MZ6a0hdkoTvx6I/PFoIETVp xWq1emteCwQjrmw5AjUe5g/AxWpJuSWP8Dnebc1bDEUdtw2/hlWVBlvwB1JfTweX3mmw KizADgozYd9fy31fDiH6NHcHYpLWG330AWUbIxz375Miix/CChV4sKVlevrmMi7lCett nF4sywFfQWj+s0ViREUaGnlIdH4fIWg1dYHjWd0bbcKIrVLkYyVsxKagjAvLXH1dmNCe wBifFxUKWlheZPoyQfiwkFQ7f+XsxqWZZ+4NlT16TEnFyqwH/MX4zsbPLvYsSrIBTtMV DCnQ==
X-Gm-Message-State: APjAAAVDL+G6xFuCCtV8Lr2gFCmGxLQ/RYoecN+eBkI9I9RIW2zHewRC 9WGSdxn7+R+3jDZGp9rtyLpQos3+0uNdKrl3dTV3rAHuURDvLQ==
X-Google-Smtp-Source: APXvYqx7aWBjPEyFvxXKHXGiws1k49woNvlREhNkPAK1qH/J3uIhdCpZzMapZLwr5KPEbziTWLIyZbpyn4B4076A+PI=
X-Received: by 2002:a37:90a:: with SMTP id 10mr10095180qkj.106.1583009570102; Sat, 29 Feb 2020 12:52:50 -0800 (PST)
MIME-Version: 1.0
From: Warren Kumari <warren@kumari.net>
Date: Sat, 29 Feb 2020 15:52:14 -0500
Message-ID: <CAHw9_i+0rDUJOR3mAMAh9+whaKX0Koc_VaibbfX1zRzocOAvhw@mail.gmail.com>
To: bgp-autoconf@ietf.org
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/bgp-autoconf/dAFJ3Qm0KtJC-WwvGUkHwIY4-GM>
Subject: [Bgp-autoconf] Short comparison of the different documents.
X-BeenThere: bgp-autoconf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: BGP autoconfiguration design team discussion list <bgp-autoconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/bgp-autoconf>, <mailto:bgp-autoconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/bgp-autoconf/>
List-Post: <mailto:bgp-autoconf@ietf.org>
List-Help: <mailto:bgp-autoconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/bgp-autoconf>, <mailto:bgp-autoconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 29 Feb 2020 20:52:54 -0000

Hi there all,

I read through the documents at
https://git.rg.net/randy/randy/src/master/bgp-autodiscovery.md trying
to figure out the pros and cons for each, which best fits the
use-cases, which seems most complete, etc.

There are my first round of notes / thoughts - they are not very
complete or organized.

1:  L3DL Upper Layer Protocol Configuration - draft-ymbk-lsvr-l3dl-ulpc-02
---------------------------
I like this document - it is really simple, flexible and clear. It
seems easily extensible (add some TLVs), but I do have some concerns:
1.1: this rides on L3DL, and so (obviously) will need equipment to
support / implement L3DL. I have not reviewed draft-ietf-lsvr-l3dl in
depth, but from a quick skim it seems reasonable (although I do have a
bunch of nits / comments on the document which I will send over once
I've written them up)

1.2: It looks easily extensible, although I am a bit concerned that
the type field is only 8 bits (easily changed if others agree)

1.3: It currently does not support adding routes so that I can peer
between loopback. This could be easily added to the protocol, but we
will need to figure out if it is a good idea, the implications, how to
minimize the threat of doing so (this is true for all of these
protocols, not just L3DL-ULPC)

1.4: I didn't understand Section 3.1.5 - perhaps it is just an example
of extensibility?

1.5: The security considerations made me giggle - this *is* an
important feature.

Missing: Loopback recursion peering, BFD, requires L3DL - not implemented.
Other thoughts: This (L3DL) builds something like a session (unlike
the LLDP document) - is this a feature or a bug? I think feature,
but...


2: BGP Neighbor Discovery - draft-xu-idr-neighbor-autodiscovery
----------------------------
I found this document hard to read - it is overly verbose and needs a
good edit to make it understandable.
It seems overly complex, and requires changes to BGP / feels like it
tries to shoehorn BGP into this use-case, instead of being a separate
discovery protocol which then "bootstraps" BGP.

The complexity / changes to BGP largely ruled this one out for me.


3: BGP Automated Session Setup - draft-raszuk-idr-bgp-auto-session-setup
------------------------
Sufficiently incomplete that it doesn't really say anything / I was
not able to evaluate it -- it seems more like an aspirational /
placeholder document.
e.g:
"The following changes to BGP FSM are proposed: To be completed
when/if document gets traction in the WG."


4: BGP LLDP Peer Discovery - draft-acee-idr-lldp-peer-discovery
------------------
This seems like a very good option to me -- LLDP is a well-known, well
implemented protocol. It also already carries information which solves
much of the "auditability" (are the cables right?) use-case.
I am concerned about the possible message size limits (it was unclear
from my initial reading how extensible this is -- e.g: if I need to
send 1000 bytes of "information" can I send some TLVs in one packet
and then the rest in a second one? I don't see why not, but....
This currently (like most!) punts on "recursive routes", and BFD, and
various other things - but I see no reason why this transport could
not be used to carry $whatever_we_decide.

The document does still need work -  e.g it talks about Session
Group-IDs, but is very handwavey about what they are / what you do
with them. It also needs firming up re: things like ASN transitions
(you can advertise a second ASN, but there is not enough text around
choosing between them, etc).


Summary:
-----------------
I like both the L3DL-ULPC and LLDP options. The other two are either
too complex, or incomplete.

The L3DL-ULPC draft is nicely simple, but some of this may be because
it isn't as complete as the LLDP document and / or complexity may hide
in L3DL itself.

LLDP has the big advantage that it rides on an existing, implemented
and deployed protocol.  If we can deal with the limited size issue, it
is my current preference.


W

[0]:  I'm going to call these "recursive routes" for now. It's not the
right term, but it is the only one I can think of at the moment!

-- 
I don't think the execution is relevant when it was obviously a bad
idea in the first place.
This is like putting rabid weasels in your pants, and later expressing
regret at having chosen those particular rabid weasels and that pair
of pants.
   ---maf