Re: [Idr] AD Review of draft-ietf-idr-ext-opt-param-09

John Scudder <jgs@juniper.net> Mon, 22 March 2021 20:15 UTC

Return-Path: <jgs@juniper.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 5BCA33A10A7; Mon, 22 Mar 2021 13:15:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.45
X-Spam-Level:
X-Spam-Status: No, score=-0.45 tagged_above=-999 required=5 tests=[DKIMWL_WL_HIGH=-0.251, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-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=juniper.net header.b=ABrpMRB3; dkim=pass (1024-bit key) header.d=juniper.net header.b=GMSWb7hd
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 Dww4pnJrlITx; Mon, 22 Mar 2021 13:15:00 -0700 (PDT)
Received: from mx0b-00273201.pphosted.com (mx0b-00273201.pphosted.com [67.231.152.164]) (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 D42143A0EEF; Mon, 22 Mar 2021 13:14:55 -0700 (PDT)
Received: from pps.filterd (m0108163.ppops.net [127.0.0.1]) by mx0b-00273201.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 12MKDbe3014780; Mon, 22 Mar 2021 13:14:54 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=PPS1017; bh=Ijg6kR8Q1vM9MBNlWKkDZYD9BTWtF4MPFEIyoHhdoQ0=; b=ABrpMRB3JUxauT/HL5cWTlw33Wu8kAQftrWe9djb06iKMFXE7rkreezmII3UR5Fbs6cC 7GqMZbqGgJQ0ETdbvaQtL2b2x0csPa1uGPnGtwXrST/K/0mZIeivzWz96FYFCPbHDjGM FCqdqiKaziEeQrK/+slPv5UrFL6ALcf0jBB3LWLqqyDZkLKeehKrYgVLy7CFevKEEMS5 3N2ZDySUK7GUUa4gMTraE0KidI3TF7535WEtCkvjLsLmYEzWiXZKC0LtTnef0n30B8Hz vzs4zs/2PMWjVuNN+GLiEwhNv6uQPfxLjyjOqw0MqXlky/fyMe66uXgbnMiQHAMEgJ+x 7A==
Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2174.outbound.protection.outlook.com [104.47.59.174]) by mx0b-00273201.pphosted.com with ESMTP id 37dc9sutub-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 22 Mar 2021 13:14:54 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Xyf5wcFXjgRtLqsf2QnEJC41On1+dnlfqrYZ8z7HB33/eSE9a/5gQFZrItKGQ662ZOjJS7W/4mRdzA1fK6bwBBWONpernbdX+nfaOiFXNokZViK5ubzq4RUSO4C107JBvCSl6dpFOHu60GBWaLaD3vWbkhq6lxnYEHQ/ODj0WGfEgkOcdQMbTwdaZLKINfNEklmyCoItGPfczgoG+QFk3HTtap2d1aREsLPCwIUmVwJq1FjKSSfARfPy67Trh5/kRt2jEtUbN9ZbYArvtqU8zvuE5E8ZEiU9GzYfJ8upTbdixWf2OwdF9QJVnFS2wk7C/ROMg0dwrLtkkTLkXpIy9g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ijg6kR8Q1vM9MBNlWKkDZYD9BTWtF4MPFEIyoHhdoQ0=; b=iHcUZrhvQpcY7Kn+s2G7tcXy3XQIUkhNNtMxGaZJqLYmhKMA0qD4KbPd+JhsOzpT5VIgppHgkkzXotP8nIQPkVZKutU61N3BiHPzTpibWf8oR3/gEhzp41GOpcO5BSkFOaKzNfDr21M06616LABtDKY4NKjr0H41+jDFh3bRLWtcFXhIAQUNjz/yQnF0jVGLjxeCgObNDE8qz8VaGMvvraHRF3aGWKkGbpq8G9qm6Mf9FBe+HbHqhmBtteMpqNwo3jMxu5LMabg+di6B9Ku+ktP1q6gdqW3YJxMGWbyY0Yxa9WYsQkqHCaJDrVolMU8nxy08OhIqrfknL3JY6dlxyg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=juniper.net; dmarc=pass action=none header.from=juniper.net; dkim=pass header.d=juniper.net; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ijg6kR8Q1vM9MBNlWKkDZYD9BTWtF4MPFEIyoHhdoQ0=; b=GMSWb7hdNIHVXZlfmkaCN50qrxKMGKSJTaTM+RR65O8fwvgMWLz1BU9zemKBUCj0qET2ZOsibu+nZctq3AfoFgjjD7WE8F6DFzgauU6Jz65xffg0H3KOyb4mp1PgUXJbEatsZZl0mYqsKYuuId7vptvQFx5YY34NBv8wQF7oRmM=
Received: from MN2PR05MB6109.namprd05.prod.outlook.com (2603:10b6:208:c4::20) by MN2PR05MB6064.namprd05.prod.outlook.com (2603:10b6:208:c4::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.15; Mon, 22 Mar 2021 20:14:48 +0000
Received: from MN2PR05MB6109.namprd05.prod.outlook.com ([fe80::6cbe:dbf9:f294:b89e]) by MN2PR05MB6109.namprd05.prod.outlook.com ([fe80::6cbe:dbf9:f294:b89e%6]) with mapi id 15.20.3977.010; Mon, 22 Mar 2021 20:14:48 +0000
From: John Scudder <jgs@juniper.net>
To: Alvaro Retana <aretana.ietf@gmail.com>
CC: "draft-ietf-idr-ext-opt-param@ietf.org" <draft-ietf-idr-ext-opt-param@ietf.org>, Hares Susan <shares@ndzh.com>, "idr-chairs@ietf.org" <idr-chairs@ietf.org>, IDR List <idr@ietf.org>
Thread-Topic: AD Review of draft-ietf-idr-ext-opt-param-09
Thread-Index: AQHXHEFV/jN950dqOUePjAHdrWlKY6qQd4EA
Date: Mon, 22 Mar 2021 20:14:48 +0000
Message-ID: <862CFB7E-DB91-49DE-87B7-B68F94BBA406@juniper.net>
References: <CAMMESsw3eVnfiJ8RQ4GSSzp4b1T2n6hm-nSZ6xuyK9XCMb1pAg@mail.gmail.com>
In-Reply-To: <CAMMESsw3eVnfiJ8RQ4GSSzp4b1T2n6hm-nSZ6xuyK9XCMb1pAg@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3608.120.23.2.4)
authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=juniper.net;
x-originating-ip: [162.225.191.192]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: 009923ae-bfb8-48c2-4561-08d8ed6f24d1
x-ms-traffictypediagnostic: MN2PR05MB6064:
x-microsoft-antispam-prvs: <MN2PR05MB606414537D836BA08A2CED7DAA659@MN2PR05MB6064.namprd05.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: BTYTNlVb+QzgD+1QSD3BHQOqid3D0oZLveOf5PWsuFAlnTLgYg4McvMOJz1n/Adt9Fo+dSZU928Dm2WLT+z8yLIBmyf23W9K03Dp/XGFxxQm6EEOeVtmdhuv8E+4qJx2Lmxd4ohsdX4GIMVGyHxyqzRsloqBOhdNbJIdXnRZleYAufxSncbbpVeTLKj1HuPlcmzjZsxQBkyRqbFFjpEpy8DGciUypbyiTGgpxeLYRNZ84bbeL6aJAs2Gv5RXDeyuHo9WruK4bzCdfS8QspFgNHcib0hKZ+OlvjKfsahgnyA2BU+NtK6Eo0aQyxHGieZYzqd8bKn/wZoM3C0BKD7x6UWHWIV64qNtyJ5Igj56z9yubRev47o5R/92xY2gvhZRLiFoqsRYiyyR4D7ilj87ctNEp1s+qOW22RBgWai6082907qYOU1kjLZnsRRdv1jQzw29/NRIyu7sjFll3610ipcfrc/XkVvDZ5CqR/wCQCYNWuTShXdvXTYIDlC48JT4OlqrKrcT7vzBUV9FyaaqDCNarLTGntuRF7jQZbut5zy9VxIQsYbkNN6KJthdItBBNrpvWXS9ISl/kC0WGoeKh59FfWtrv/7QzVs4M6TjR3jc2OdCVXY30tu02Ht/kWl8w2Yl0fI8bKc3kTaIQnXaLi7SLnK7ipJE6Z0hjnHvezR1v+2PhtjApJ7e+TChK5YX
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR05MB6109.namprd05.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(346002)(396003)(376002)(136003)(39860400002)(2616005)(83380400001)(6486002)(86362001)(478600001)(71200400001)(33656002)(54906003)(76116006)(91956017)(4326008)(66556008)(66476007)(64756008)(5660300002)(66446008)(66946007)(2906002)(8676002)(8936002)(36756003)(53546011)(186003)(6506007)(38100700001)(6916009)(26005)(6512007)(316002)(45980500001); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata: =?utf-8?B?bkhmQWUvb1pxRy9XTWtQV1UzY2FvWVVsNXNOTlo4SldQQzIzSUVkTXlpQjlm?= =?utf-8?B?MDZuWXBXRGZZQmNOM0JYRGZMTFlxVTR2a3ArZm1LME1laUE2UVVVekp1c3J1?= =?utf-8?B?ODR2Z29PRTB3TnFFcTh5aE9GdHNTK2E2MDRlYUVHckQ3Q0w2NTVjUWZNdnB5?= =?utf-8?B?SEFHMUlyL1AvS2ZIdk5CeXo2Nk5HaVEzbmdTZVUvS2REUU03bWhZWnYzV2xO?= =?utf-8?B?OVZlZ1phcGprb2szTTZaN1JYNVdXZ3docCt5aXpsU01zNUt2UU9HV25jZWNW?= =?utf-8?B?UHR0L2l1NXJBSnowb08wcVNKWXBsS3RZUHdWdDVGN3RocFlrWVkzdGxpeHlz?= =?utf-8?B?YVlqL1hQcW56SHJUNVp1dENqRDhadHYwUjJaR3FYNkk4dzExWUhLa3g5eXRT?= =?utf-8?B?Ymlibm9LcnNsbCs5WWFXeWtweUFSOFNCdzNEaWEyOG9kK0YxMlBhb24zTm9i?= =?utf-8?B?UmZiL0t1V1JZbVRxMjhjb1lZd3ZrQmhRWHVKREpjb3lKVTkzamVDNVVLQndq?= =?utf-8?B?U0dKTFRSRndodlN5NHhTeXRjSnBLanRuQW9IZEpmNEJZd2xwRzZxNlViUVJN?= =?utf-8?B?UmJkYXIwZlJrVEtBay9LR1Z0cVBnejBMYWNCaHpQMlgrNTZwdnZXS01EcG01?= =?utf-8?B?dkpoeXFVZ0N6aGRNOGNBNlFXL0ZSZWNoaWZyb0xKOHErVE81NzRaczM3eU4z?= =?utf-8?B?QlEwaXdtblRTekRMR3NuTWlQN0hKOURBdjFPT2pvRGVVRjlJdFAvZFltZDFx?= =?utf-8?B?VEZyaDhrc1dFamMyaFRSM25KVWFMdEpNMGVXWUJlb1hYSXVaU3VqUUY1eTFI?= =?utf-8?B?SlNza1ZDZlU0bmV2WXlxZjFGS0ZXTXRQUjZrdzRadGh4MTlSdTdudVA2S0pa?= =?utf-8?B?dDh4YktJSVNoUFFWb2pjdHBCcW5jVGxYMzd1U0U4TWdwaDZGRGJpYWF4MG1O?= =?utf-8?B?ZTJoMVN3aXRrdEFVNGdVc2x0bmh1enFIeTk3dC9qbHMrY1VReUdKek5KUmJX?= =?utf-8?B?L3A1SjJZZTI1ekZydHRucU8rTlpJT21Fb0FaYy9ob0JEU3ZoM2l6cy9PWkpw?= =?utf-8?B?ZkFOWHhJY242M3dCT2F0SkdVckRtS05RUmZ0ZzVJWVI3MHhpYURvNHU5RmxM?= =?utf-8?B?Smxlc0ljaTdqVVBMQm5rQnVudGhwV0xMVWY2cWR5WVJCbHFoN0pLa05UMjdY?= =?utf-8?B?TWVyY1BOdTVSWkR5NmRabjZmemRzeEtYeGtNd1hVd3JWdEo2UW5YdDNvMWhV?= =?utf-8?B?OUh6d2FjSU5Pbmk1WXRrdEpzVEIzTE8rekhFTVZqc2UxOUJKckVGeHErb0V0?= =?utf-8?B?dTczUlErdm1kTWZja0FrRFN4MTgwcVBaQjRGeXN5R3d2RUxEQmdxMjJXUmQ4?= =?utf-8?B?b3JEd2JYRm1YOGNJYzNONVJBNzU1dmlXc2cwZS9SUTJEWjk4WGtWakRZeWlu?= =?utf-8?B?ay96dzBySFdKZ2FVNVRpSlQyNDZPMzMrb2pHVjFoL0NiZEVkRFl5TU5ROXZq?= =?utf-8?B?ZlozVWVPaUo1a2xUMi84aHlaUitYMFFBc1p6UlJ0cDdtb1dSdSs3ZThDSmxz?= =?utf-8?B?N0IzY3N1Q0U3SUk3S0FPQzhvY1RPSkNMa01BR2ZUSGdQeU1uNXZrc1g5L3Mw?= =?utf-8?B?dEQ0czJmR0NwUlJwRHJFbFlHY3BNVkhLQ1BjVjVUMlZQeUV3Yk1YSFVLakNm?= =?utf-8?B?K3MvRWU4dE9tY1JUL1BEa0VGYzRJaHpVRWk3RjJMRlE2VEIxaXFWdlhyeXh2?= =?utf-8?B?VFBaOUFKSXk4UFlyUWVuYjV5cmhzR0hLdE5kNldMYklxTGErbDZKQkpySlYz?= =?utf-8?B?TS9EcHdwZm1UY2pXQ2JRUT09?=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-ID: <FD358206001FF04DA2FDD39B90111B99@namprd05.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MN2PR05MB6109.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 009923ae-bfb8-48c2-4561-08d8ed6f24d1
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Mar 2021 20:14:48.6793 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 3qxszCtuDn35TCuWaAFr7reh0JCUdYst1DtpB7n92gaj/QsCgeoLz+OVhMyVZPpu
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR05MB6064
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.369, 18.0.761 definitions=2021-03-22_11:2021-03-22, 2021-03-22 signatures=0
X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 adultscore=0 mlxscore=0 phishscore=0 malwarescore=0 mlxlogscore=999 spamscore=0 priorityscore=1501 suspectscore=0 clxscore=1011 bulkscore=0 lowpriorityscore=0 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2103220149
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/PE_XpT8kBB5zJxCM40BMsnUDOdw>
Subject: Re: [Idr] AD Review of draft-ietf-idr-ext-opt-param-09
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.29
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: Mon, 22 Mar 2021 20:15:09 -0000

Hi Alvaro, thanks for the review. I’ve uploaded -10 to address your comments, see also my replies below.

—John

> On Mar 18, 2021, at 5:54 PM, Alvaro Retana <aretana.ietf@gmail.com> wrote:
> 
> [External Email. Be cautious of content]
> 
> 
> Enke/John:
> 
> Hi!
> 
> Thank you for your persistence in getting this work done!
> 
> I have several comments inline below.  I believe that all of them
> should be easy to address.
> 
> Thanks!
> 
> Alvaro.
> 
> 
> 
> [Line numbers from idnits.]
> 
> ...
> 11      Abstract
> ...
> 19         In this document we update RFC 4271 by extending, in a backward-
> 20         compatible manner, the length of the Optional Parameters in the BGP
> 21         OPEN.  The Parameter Length field of individual Optional Parameters
> 22         is also extended.
> 
> [style nit] s/In this document we update/This document updates/g

Done.

> ...
> 72      1.1.  Requirements Language
> 
> 74         The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
> 75         "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
> 76         document are to be interpreted as described in RFC 2119 [RFC2119].
> 
> [major] Use the template from rfc8174.

Done.

> 78      2.  Protocol Extensions
> ...
> 83         In the event that the length of Optional Parameters in the BGP OPEN
> 84         message does not exceed 255, the encodings of the base BGP
> 85         specification [RFC4271] MUST be used without alteration.  However, an
> 86         implementation MUST be prepared to accept an OPEN message that uses
> 87         the encoding of this specification for Optional Parameters of any
> 88         length.
> 
> [major] "MUST be prepared to accept an OPEN message...of any length."
> 
> The OPEN message is not covered by rfc8654, so the length is still
> limited to 4k...which means that the full Extended OP length/Parameter
> Length cannot be used.

I’m inclined to leave this alone. I mean, we could go into that nuance, but then if some future specification extends the OPEN, do we have to go back and update this spec too? Better to leave it alone, I think. It is genuinely obvious, IMO, that you can’t encode more than the enclosing PDU format supports.

> Besides clarifying that, I think that new OPEN Message Error subcodes
> are needed for the cases where the length is invalid.  This type of
> error is possible in the non-extended version of the OPEN too -- I
> guess rfc4271 just assumed that this error would never happen.

RFC 4271 left a lot to be desired in terms of nuanced error codes. I agree that we could introduce a subcode called something like “optional parameter field length mismatch” to be sent if the optional parameters length exceeds the unconsumed OPEN length. However, I’m disinclined to do it in this document, because it’s a pre-existing problem, it exists with the non-extended encoding as well, so any fix for it should really fix both cases. As such, it seems a funny fit for this doc. 

> 90         If the length of Optional Parameters is greater than 255, the
> 91         extended encoding defined here MUST be used.  The (non-extended)
> 92         length field MUST be set to 255.  The subsequent octet (which would
> 93         be the first Optional Parameter Type in the non-extended format) MUST
> 94         be set to 255 as well.  The subsequent two octets carry the actual
> 95         length.  In addition, the "Parameter Length" field of each Optional
> 96         Parameter is enlarged to two octets.  Other than the larger sizes of
> 97         the given fields, there is no change to the BGP OPEN message defined
> 98         in [RFC4271].
> 
> [minor] This paragraph references the modified OPEN message, but it
> hasn't been introduced yet.  Please refer to the figures or move them
> (and the description of the fields) to the beginning of this section.
> Also, please be consistent with the field names from the figure.

On reviewing this, I think that paragraph and the following two paragraphs were redundant with the paragraphs that follow the figure. So, I simply removed them, and replaced them with this: 

   However, if the length of Optional Parameters in the BGP OPEN message 
   does exceed 255, the OPEN message MUST be encoded according to the 
   procedure below.

> ...
> 111            0                   1                   2                   3
> 112            0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
> 113            +-+-+-+-+-+-+-+-+
> 114            |    Version    |
> 115            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> 116            |     My Autonomous System      |
> 117            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> 118            |           Hold Time           |
> 119            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> 120            |                         BGP Identifier                        |
> 121            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> 122            |Non-Ext OP Len.|Non-Ext OP Type|  Extended Opt. Parm. Length   |
> 123            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> 124            |                                                               |
> 125            |             Optional Parameters (variable)                    |
> 126            |                                                               |
> 127            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> 
> [] Please add a figure number and title.

Done.

> 129        The non-extended Optional Parameters Length field MUST be set to 255
> 130        on transmission, and MUST be ignored on receipt once the use of the
> 131        extended format is determined positively by inspection of the (non-
> 132        extended) Optional Parameters Type field.
> 
> [major] "non-extended Optional Parameters Length"  Please refer to the
> names of the fields in the figure.   s/.../non-extended Optional
> Parameters Length (Non-Ext OP Len.)

Done.

> ...
> 148            0                   1                   2
> 149            0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4
> 150            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> 151            |  Parm. Type   |        Parameter Length       |
> 152            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> 153            ~            Parameter Value (variable)         ~
> 154            |                                               |
> 155            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> 
> [] Please add a figure number and title.

Done.

> ...
> 178        The choice to mandate that when the extended encoding is in use, the
> 179        (non-extended) Optional Parameters Length field must be 255 was made
> 180        for backward compatibility with implementations of earlier versions
> 181        of this specification.  When the extended encoding is in use, the
> 182        value 0 MUST NOT be used in that field since the presence of that
> 183        value could have the effect of causing a message parser to never
> 184        inspect the following octet.
> 
> [] I don't think it's a good idea to justify anything based on
> pre-standard implementations.  s/MUST be set to 255 on
> transmission/SHOULD be set to 255 on transmission  will cover both
> cases without the justification.

Now that you mention it, these two paragraphs read strangely to me now — it’s unnecessary historical baggage to be going on about why certain choices were made. I’ve removed them and rewritten the first paragraph following the figure as:

  The non-extended Optional Parameters Length field (Non-Ext OP Len)
  SHOULD be set to 255 on transmission and in any event MUST NOT be set to
  0, and MUST be ignored on receipt once the use of the extended format is
  determined positively by inspection of the Non-Extended Optional
  Parameters Type (Non-Ext OP Type) field.

since the only normative text in those paragraphs was the MUST NOT part. 

If anyone feels the paragraphs should be retained for some reason, we could move them to an appendix. But I think students of history can rely on looking at the draft versions and it’s OK to just leave it out altogether.

> [major] "0 MUST NOT be used"  Move this part to where the field is described.

Done. (See language above.)

> 186     3.  Errors
> 
> 188        If a BGP speaker supporting this specification (a "new speaker") is
> 189        peering with one which does not (an "old speaker") no
> 190        interoperability issues arise unless the new speaker needs to encode
> 191        Optional Parameters whose length exceeds 255.  In that case, it will
> 192        transmit an OPEN message which the old speaker will interpret as
> 193        containing an Optional Parameter with type code 255.  Since by
> 194        definition the old speaker will not recognize that type code, the old
> 195        speaker may be expected to close the connection with a NOTIFICATION
> 196        with an Error Code of OPEN Message Error and an Error Subcode of
> 197        Unsupported Optional Parameters, according to Section 6.2 of
> 198        [RFC4271].
> 
> [minor] s/may be expected/is expected

OK.

> 200        Although the above is the most likely error to be sent, it is not
> 201        impossible that the old speaker might detect some other error first,
> 202        such as a length error, depending on the details of the
> 203        implementation.  In no case would the peering be expected to
> 204        establish successfully; the only question is which NOTIFICATION would
> 205        be generated.
> 
> [] No need to speculate about implementations.  The text above points
> at rfc4271 anyway.

OK. I cut that paragraph. It’s similar to the other two I cut, discussed above.

> 207        We note that in any case, such a peering could not succeed, since by
> 208        definition the extended length encoding would not be used by the new
> 209        speaker unless the basic encoding was insufficient.
> 
> [] I don't understand what you mean here.  It sounds as if the new
> speaker shouldn't have used the encoding anyway...  ??

I could explain, but instead I’ve just cut that paragraph as well.

> ...
> 219        It is not considered an error to receive an OPEN message whose
> 220        Extended Optional Parameters Length value is less than or equal to
> 221        255, any value SHOULD be silently accepted.  It is not considered a
> 222        fatal error to receive an OPEN message whose (non-extended) Optional
> 223        Parameters Length value is not 255, and whose first Optional
> 224        Parameter type code is 255 -- in this case the encoding of this
> 225        specification MUST be used for decoding the message.  A warning MAY
> 226        be logged.
> 
> [major] "any value SHOULD be silently accepted"  When is it ok to not
> (silently) accept the message?  IOW, why is this recommended and not
> required?  In any case, I don't think that the last part of the
> sentence is needed because the first part already says this is not an
> error.

OK, I cut "any value SHOULD be silently accepted”. (And you’re right, it should have been a MUST.)

> [End of Review]