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

Job Snijders <> Wed, 18 January 2017 22:28 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id A288B1295B8 for <>; Wed, 18 Jan 2017 14:28:57 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.6
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: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id yJpV3ZpUWbPw for <>; Wed, 18 Jan 2017 14:28:55 -0800 (PST)
Received: from ( [IPv6:2a00:1450:400c:c09::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 4FB971295B5 for <>; Wed, 18 Jan 2017 14:28:55 -0800 (PST)
Received: by with SMTP id c206so48901812wme.0 for <>; Wed, 18 Jan 2017 14:28:55 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; 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;; 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 with SMTP id 71mr4642222wrk.48.1484778533531; Wed, 18 Jan 2017 14:28:53 -0800 (PST)
Received: from localhost ([]) by with ESMTPSA id y65sm44966162wmb.5.2017. (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 <>
To: Peter van Dijk <>
Message-ID: <20170118222849.GX1062@Vurt.local>
References: <01b801d27105$45702bc0$d0508340$> <>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <>
X-Clacks-Overhead: GNU Terry Pratchett
User-Agent: Mutt/1.7.2 (2016-11-26)
Archived-At: <>
Cc:,, Susan Hares <>
Subject: Re: [Idr] 2 week WG LC for draft-ietf-idr-shutdown-02 (1/17 to 1/31/2017)
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Inter-Domain Routing <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-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
> . 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) ( 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 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,