Re: [Idr] 2 week WG LC for draft-ietf-idr-shutdown-02 (1/17 to 1/31/2017)

Job Snijders <job@instituut.net> Wed, 18 January 2017 22:28 UTC

Return-Path: <job@instituut.net>
X-Original-To: idr@ietfa.amsl.com
Delivered-To: idr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A288B1295B8 for <idr@ietfa.amsl.com>; Wed, 18 Jan 2017 14:28:57 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=instituut-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 yJpV3ZpUWbPw for <idr@ietfa.amsl.com>; Wed, 18 Jan 2017 14:28:55 -0800 (PST)
Received: from mail-wm0-x22a.google.com (mail-wm0-x22a.google.com [IPv6:2a00:1450:400c:c09::22a]) (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 4FB971295B5 for <idr@ietf.org>; Wed, 18 Jan 2017 14:28:55 -0800 (PST)
Received: by mail-wm0-x22a.google.com with SMTP id c206so48901812wme.0 for <idr@ietf.org>; Wed, 18 Jan 2017 14:28:55 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=instituut-net.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=7dzebiMnudpietRribmW/mCAYC1pbjFOXPjut77n6S8=; b=LonuCvEn57ixvvufrZ1Y4PvjSXS1uHsJ9QRtJPuage94M8sSHULqSxXWVT3A7twmMp xhX6v3z4NdYpr+kHb5YvIfQt/RD4EdjmiVtVVtd8gLjdhnu9FtKpR87A1u2H9b71VffP +sIGv1LC2OGtZhxhh5Ny59CqJdfJ1ByiBcb6vQ48yX7EtK1oHbtNGZeuGyIkUdo7YSFl y9WRIqvEwDUnQvFH8fNTWW0Y61q/fev0AXOPGrBpBCA63qiJxLjrWArsOV6aN8KPQwqz QOHpSuZYigKoAyvqI0o6L9Bz7vLZBsTrjiaRS8SFtUCmGj4wFu2qxts3ZRRcgmBpyLCB Vd3w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=7dzebiMnudpietRribmW/mCAYC1pbjFOXPjut77n6S8=; b=S3H6Auq/51X51wSAsnQDOdSh/4njLwLC58Truem9QMfP6W5a1Px0o8FN7YkN+l8aQZ Up6soSnlyTJ3m6sWQVjGoCLopIacV0PaBcZxvyxsW/w6hHUbRP1paFfQa9oT5j80VU+a tyxtyVRSzj/PWJcTrM56cvJxeePbJ+fP6uCRX6/cj74M+r/N/efgFSFbPz26Bni1sLRM qCd1GZ9FRiEyvl7JN67vrdiusKanCo+gf+HJyp+RL39no11HN9XsIjF1YpoBdZl38T2R qb9f4s9kZ01+8Mrlcrvx3S3HU3zloUX6fMuV9hQYN64cPgzC1hZm5v9Ughee6m8Ypi+A Qe+w==
X-Gm-Message-State: AIkVDXIsTzyNBPPmATyZuSCt2KVUNqiZUPadTEUPSupBFKmxUFDtF/UHd/zcxyAaoV8HiQ==
X-Received: by 10.223.128.77 with SMTP id 71mr4642222wrk.48.1484778533531; Wed, 18 Jan 2017 14:28:53 -0800 (PST)
Received: from localhost ([188.206.110.238]) by smtp.gmail.com with ESMTPSA id y65sm44966162wmb.5.2017.01.18.14.28.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 18 Jan 2017 14:28:52 -0800 (PST)
Date: Wed, 18 Jan 2017 23:28:49 +0100
From: Job Snijders <job@instituut.net>
To: Peter van Dijk <peter.van.dijk@powerdns.com>
Message-ID: <20170118222849.GX1062@Vurt.local>
References: <01b801d27105$45702bc0$d0508340$@ndzh.com> <98933514-362A-42A0-A803-236033B5131A@powerdns.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <98933514-362A-42A0-A803-236033B5131A@powerdns.com>
X-Clacks-Overhead: GNU Terry Pratchett
User-Agent: Mutt/1.7.2 (2016-11-26)
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/8ueDFbC4ZBd1WwolRS78aFA8oyw>
Cc: idr@ietf.org, draft-ietf-idr-shutdown@ietf.org, Susan Hares <shares@ndzh.com>
Subject: Re: [Idr] 2 week WG LC for draft-ietf-idr-shutdown-02 (1/17 to 1/31/2017)
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Inter-Domain Routing <idr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/idr>, <mailto:idr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/idr/>
List-Post: <mailto:idr@ietf.org>
List-Help: <mailto:idr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/idr>, <mailto:idr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 18 Jan 2017 22:28:57 -0000

Dear Peter,

On Wed, Jan 18, 2017 at 10:54:19PM +0100, Peter van Dijk wrote:
> On 17 Jan 2017, at 22:04, Susan Hares wrote:
> > This begins a 2 week WG Last Call for draft-ietf-idr-shutdown-02.txt
> > (1/17/2017 to 1/31/2017).  Section 7 of this document lists the
> > implementations that have been created for this BGP functionality. These
> > include: ExaBGP, pmacct, OpenBGPD, Wireshark (packet analyzer), and tcpdump
> 
> I did the openbgpd implementation of draft-ietf-idr-shutdown. Please find my
> implementation report below.
> 
> A functional description of the implementation can be found at
> http://marc.info/?l=openbsd-tech&m=148390348126153&w=2 . Note that the final
> version of the patch is a few mails down in that thread (and phessler@ did
> some last whitespace fixes before committing it to OpenBSD CVS). In short, the
> openbgpd implementation is complete; it can send shutdown communications from
> the config file and from the command line; it logs received communications to
> syslog and exposes them in various forms of 'bgpctl .. show'.
> 
> During implementation, I have found the draft very clear to read, and there
> were no ambiguities in how an implementation was supposed to work. In every
> one of the few situations I had doubts arising from interoperability testing
> with other fresh implementations, it turned out there was a bug in the other
> implementation and each time this was quickly corrected on the other side
> after a closer reading of the draft or the involved code.
> 
> Implementation took a few evenings, spread out over weeks, showing that the
> cognitive load involved with understanding this draft is quite low.
> 
> Development was done on OpenBSD 6.0 (as openbgpd has not been ported to other
> platforms). The work was divided in logical pieces (log incoming messages;
> remember them for bgpctl show; send them from bgpctl neighbor X down REASON;
> send them from the configuration file on a reload+refresh).
> 
> Interoperability was continuously tested against the then-current
> implementations of -shutdown in exabgp and pmacct pmbgpd, running on a nearby
> Linux VM, as at that time pmacct only had support for sending a shutdown
> message, and exabgp was only able to receive shutdown messages. Various minor
> bugs in the exabgp and pmacct implementations surfaced and were fixed during
> this process.
> 
> Unprintable characters (both of the 'control' and the 'UTF-8' nature) were
> easily dealt with via the vis(3) (http://man.openbsd.org/vis.3) facility
> available on all BSDs, in octal mode as is also used in C string constants.
> Incidentally Debian has a 'libbsd' that provides it. A standalone
> implementation would not be hard to do either. vis-encoded strings can be
> decoded by 'unvis' on the commandline, or by simply pasting them into a Python
> interpreter. This way full Unicode support is achieved without having to worry
> about 'what encoding is syslog actually in'.
> 
> As an example, the Unicode unicorn (U+1F984), encoded on the wire in UTF-8 (as
> the draft specifies), yields a syslog message such as
> 
>     neighbor 165.254.255.26: received shutdown reason: "\360\237\246\204"
> 
> Running
> 
>     echo "\360\237\246\204" | unvis
> 
> on an UTF-8 capable terminal, or typing
> 
>     print("\360\237\246\204".decode('utf-8'))
> 
> into a Python2 prompt, will recover said unicorn. 🦄

Thank you for this write-up!

Kind regards,

Job