Re: [Idr] [BULK] Bug in draft-ietf-idr-rfc5575bis, worth fixing?

"Jakob Heitz (jheitz)" <jheitz@cisco.com> Tue, 29 September 2020 15:31 UTC

Return-Path: <jheitz@cisco.com>
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 98B843A0906; Tue, 29 Sep 2020 08:31:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.497
X-Spam-Level:
X-Spam-Status: No, score=-9.497 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com header.b=dPPAtQ8o; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=wWoF24Ay
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 SLaWT33-EBk2; Tue, 29 Sep 2020 08:31:37 -0700 (PDT)
Received: from alln-iport-7.cisco.com (alln-iport-7.cisco.com [173.37.142.94]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 84C8E3A0905; Tue, 29 Sep 2020 08:31:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=50849; q=dns/txt; s=iport; t=1601393497; x=1602603097; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=2aCKpIkpLIy+V8LjLvdcUsq00fWSAzZ3o6TEuGWGgNU=; b=dPPAtQ8o1MKDPJm8JxWFiSosNq4+yNC3g/+aQm05lfFrChnZy9yZ3nUu gkNButyu4uvpnVyrxHYmMq7jO/rTH3wvPPl1LrzWaGgbXllwyojxQYTBu UAAiYtJcxlkHHYTgV44k4vEj8YTwFG20qVVX+VG92oxsSVk3Ru8OuFR65 A=;
IronPort-PHdr: =?us-ascii?q?9a23=3AgmwuoBbCRE6Sqk9/hzclw2X/LSx94ef9IxIV55?= =?us-ascii?q?w7irlHbqWk+dH4MVfC4el21QaXD5/S8OBZiKzQvryzEWAD4JPUtncEfdQMUh?= =?us-ascii?q?IekswZkkQmB9LNEkz0KvPmLklYVMRPXVNo5Te3ZE5SHsutfVTJsGCxqzgfBk?= =?us-ascii?q?a3OQ98PO+gHInUgoy+3Pyz/JuGZQJOiXK9bLp+IQ/wox/Ws5wdgJBpLeA6zR?= =?us-ascii?q?6arw=3D=3D?=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0C/CADhUnNf/4cNJK1gHQEBAQEJARI?= =?us-ascii?q?BBQUBgg+BIy8jLgdwWS8shD2DRgONfYECiQ2OaIFCgREDVQsBAQENAQEeDwI?= =?us-ascii?q?EAQGDFoE1AheCGAIlOBMCAwEBCwEBBQEBAQIBBgRthVwMhXIBAQEBAgESCwY?= =?us-ascii?q?EGQEBNwEECwIBCA4DBAEBIQEGAwICAh8RFAkIAgQOBSKDBAGBfk0DDiABDqo?= =?us-ascii?q?TAoE5iGF2fzODAQEBBYUKDQuCEAmBOIJyg2mBA4VQG4FBP4ERJxyBT0k1PoF?= =?us-ascii?q?+HEIBAQIBgUIBRgkIglkzgi2PcyEDMoI0PIEghV+Lf5AGOFEKgmeIe4ZVhX6?= =?us-ascii?q?FCQMfgw2JfoU7jk2VAYhzgmqSOQIEAgQFAg4BAQWBayMqGoETcBU7KgGCCgE?= =?us-ascii?q?BMglHFwINjXwjgiiBSYUUhUJ0AjUCBgEJAQEDCXyLLi2CFwEB?=
X-IronPort-AV: E=Sophos;i="5.77,319,1596499200"; d="scan'208,217";a="550643384"
Received: from alln-core-2.cisco.com ([173.36.13.135]) by alln-iport-7.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 29 Sep 2020 15:31:36 +0000
Received: from XCH-ALN-003.cisco.com (xch-aln-003.cisco.com [173.36.7.13]) by alln-core-2.cisco.com (8.15.2/8.15.2) with ESMTPS id 08TFVaRc028971 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 29 Sep 2020 15:31:36 GMT
Received: from xhs-rcd-003.cisco.com (173.37.227.248) by XCH-ALN-003.cisco.com (173.36.7.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 29 Sep 2020 10:31:35 -0500
Received: from xhs-rtp-003.cisco.com (64.101.210.230) by xhs-rcd-003.cisco.com (173.37.227.248) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 29 Sep 2020 10:31:35 -0500
Received: from NAM12-BN8-obe.outbound.protection.outlook.com (64.101.32.56) by xhs-rtp-003.cisco.com (64.101.210.230) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Tue, 29 Sep 2020 11:31:35 -0400
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kjscBMvsnxWz93BJW8j/j/+5Ery1MwEpPQLRDzEsxy/hN4VYDJviG0Er9cbFEsPAwTRSJrE6YK23qzCP3/TWqqArGXgt9mSzj6TuzVzOCcfEWqmgbvyLs/TupkN2ezZX5XC0jNG928hxKLTEDelm7aYNRP06FOYvdu5i/841IB2UlNOL/uuzH8Ngu7v+CLQn43B+41XgZ8oqBaJJ/X/pm64W8BT1eM5bweoALzNFFiaVHzkDSZ2/8YcAFL5ppOBsGl0LAX3cnW3D9KbzjgfVr2Y9tVESNV3mJiHNyuVSDEe8vtWVYuiVI6MSNS/0PDLQ/n1UYvtW4+sAF7JUxqDV2g==
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=2aCKpIkpLIy+V8LjLvdcUsq00fWSAzZ3o6TEuGWGgNU=; b=NgzB1vsyo5OZm2qS0KL3gMfIcX1Ct/jAs3d9nrAzmg3GWcr3pvHSKEzPe0wq3MBqhkXyyB29PcIW+r5R9FOGo8ngfu3xCJRd7eiMb+SPAEvyutQonUBcJv2mP9dUvdNdlT0zZ6x2GFkVtXXwtp0/KrqKzPGeALMs/KEc+lQcqCmbhie49YbMqpUWkFPy3/708wJj8lLqS5TTNrCVmbmPhdFospOkHA1IPB9adsff1FkbGj+Le+ADbqRFpmOQGNLQdoF1btdbVGg/EbYzX8GvLrcNJaC/fzBjvsAYCzB7LWTH/MexA2m7rPipQSfyQAXG7HyyXZb5sVNM6tzVWWEZ1w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cisco.com; dmarc=pass action=none header.from=cisco.com; dkim=pass header.d=cisco.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.onmicrosoft.com; s=selector2-cisco-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2aCKpIkpLIy+V8LjLvdcUsq00fWSAzZ3o6TEuGWGgNU=; b=wWoF24AyQ0CsyqI69LF7+4wfDu2JmT9N1duQQp8UeUbxR2QejoIdyDkgLmsHrMqZrBRCtJxwwXuxYVV8gWWZ8lzBb1Km9F7F0jbx5nCDLoiSQXFmazN3sicz4W0T5q3NWZU6G0AuIrXmTMgRDGbBDAGfFS8FE5RSYeVrhuEo41Y=
Received: from BYAPR11MB3207.namprd11.prod.outlook.com (2603:10b6:a03:7c::14) by BYAPR11MB2774.namprd11.prod.outlook.com (2603:10b6:a02:c1::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.26; Tue, 29 Sep 2020 15:31:34 +0000
Received: from BYAPR11MB3207.namprd11.prod.outlook.com ([fe80::718c:ac63:d72e:f3c9]) by BYAPR11MB3207.namprd11.prod.outlook.com ([fe80::718c:ac63:d72e:f3c9%4]) with mapi id 15.20.3433.032; Tue, 29 Sep 2020 15:31:34 +0000
From: "Jakob Heitz (jheitz)" <jheitz@cisco.com>
To: John Scudder <jgs@juniper.net>
CC: Robert Raszuk <robert@raszuk.net>, Christoph Loibl <c@tix.at>, "idr@ietf.org" <idr@ietf.org>, "draft-ietf-idr-rfc5575bis@ietf.org" <draft-ietf-idr-rfc5575bis@ietf.org>, "bruno.decraene@orange.com" <bruno.decraene@orange.com>, Hares Susan <shares@ndzh.com>
Thread-Topic: [Idr] [BULK] Bug in draft-ietf-idr-rfc5575bis, worth fixing?
Thread-Index: AQHWli3fWigMU3yXAEyzNiZSXdI7JKl/u6wAgAADMfI=
Date: Tue, 29 Sep 2020 15:31:33 +0000
Message-ID: <CCB3EE16-0B8F-49FC-9EC8-4F6C70CFC8E5@cisco.com>
References: <303E54F6-833A-4458-B3E6-DE90E7CA121B@juniper.net> <22341_1601052988_5F6E213C_22341_268_1_53C29892C857584299CBF5D05346208A48F82C17@OPEXCAUBM43.corporate.adroot.infra.ftgroup> <DEE76A95-339B-433C-BD46-AD0243F72FBE@juniper.net> <3366_1601300732_5F71E8FC_3366_6_3_53C29892C857584299CBF5D05346208A48F86028@OPEXCAUBM43.corporate.adroot.infra.ftgroup> <21B4E52C-38F4-4C94-985C-8C1DF88F4A92@juniper.net> <CAMMESsxG+ASdax1USizop-1bzYELcSdvND-f3RNEJ78zDUPrng@mail.gmail.com> <A9128F3D-948E-4F22-B000-7B470AFAC219@tix.at> <CAOj+MMESP=1EtTcuptE9xdyb+g36kDiD4sH6wSLezeZX74v2vw@mail.gmail.com> <BYAPR11MB32079E5730B9B170C1ADF7E1C0350@BYAPR11MB3207.namprd11.prod.outlook.com> <CAOj+MMFrFhwF1D=j1KS5wJXzc-ULEA6Ne-n296LYvit5fKUB+w@mail.gmail.com>, <57A5696C-4AD1-46E3-85C8-21867D821A3D@juniper.net>
In-Reply-To: <57A5696C-4AD1-46E3-85C8-21867D821A3D@juniper.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: raszuk.net; dkim=none (message not signed) header.d=none;raszuk.net; dmarc=none action=none header.from=cisco.com;
x-originating-ip: [2600:387:6:803::64]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 79e4eae7-addf-45b8-03d7-08d8648cbf55
x-ms-traffictypediagnostic: BYAPR11MB2774:
x-microsoft-antispam-prvs: <BYAPR11MB27744EC8B42349B1DE5A2DA0C0320@BYAPR11MB2774.namprd11.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: ESC/UsA3+Begaa+iBU31ytZIKfWC5uUE7xxMyfVjQ7sC8TkMHhUB3eCGkFRBVp7YRhWrnuyd5WQ9oqNR9hBPqHLtbrO3pRuIcjLQBIfGmZN7ZDj/8hOwCYB/LDnvgvxMi6NPGxtjqVucdsEDJpQ3vMD5ByUN1fRZzYW6Qpr4XpJETGpLnk27AXi6ZW1SC/7uRKDI6Pv/YX2ood3DAXg+wEC1Ga82HaUElTDrsj3OfIblw1l4dKWlE6KVSTHx4Mzn0VNk81LShv0LbZlVLbOpB/aB1zuUOQ8vQToSU5fNfRqTQeXBqmPzadEx3pyCmlZ/cvix1j15Rd6LHnePXfeAEzNAKPql79uh/wUGARxjmtARpF+Hmbv2O09874qfWbJfsN7t8gGZv7A5HskFXxfrQlHZzjhfoGRGVUl+PF6N9TSU8p05rY1OqRcIeQ/zarhK
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB3207.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(39860400002)(396003)(346002)(136003)(376002)(366004)(186003)(71200400001)(8936002)(316002)(54906003)(8676002)(36756003)(2616005)(33656002)(83380400001)(86362001)(478600001)(53546011)(5660300002)(6916009)(6506007)(83080400001)(76116006)(166002)(66946007)(66446008)(64756008)(66556008)(66476007)(6486002)(2906002)(6512007)(4326008)(966005); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata: YnGtR0K1G/iK6RRfuYTQqaseVPp0kMkXGgzTK8vo1IzZjkgEutBFBpcq2+41sJ++QmEEbdk8+egQEccKLS2KNLn7xNo54Af8No92suuauiogItjjY94QrxbVal7K6oUmxVLT+qX7hU2QJRrqQf3J4z+QBxC4jfAkR7MwI12Qx80LywMI7Q9gATlbe5sYAoAPeBTbFMCeJzt18nzWjRqp2QMa8eH5YdrJ1VSIcnLl0lh90HXXkPW6VKRJhMkbrvj5/Xlzh27xAkJHDh27Rg5iuztNrA+IM+NCM+mgu8EanXM0lh8DCwotB4hHYX476bZCvY9KmEqA9e5+Tbbl87OEXdnkdCTOw1SPWZZba6ZIkJR1fi71RjH9XdnJXwYabmikgCtJKMwSgCKGuzjJT9EZ5u5Ebvj7BsCMKSvLTWxWI7+team3tclDDPVk1F4lNUD2SDRMJHTYveowr0J5RWgtgpX51lao6okDD10TJW5fV4Hwoz3ztpX0bBjOdcvGmgcofLpB+xptZUxBIt2Afgb0HZ/aWIIlFeLLnR75hyLhNRTZninHrFe2aXW8KJiQjK1dYlh3K7DE2GDh3BCm+tDGxqplRsxzvD3siX8/RlVydgnaADxCbcsjxKn+VxYGlz+KATBiWyjRnMwISSjnPwTXlyujbS9+zpn4TG1ELW+CbRM=
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_CCB3EE160B8F49FC9EC84F6C70CFC8E5ciscocom_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR11MB3207.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 79e4eae7-addf-45b8-03d7-08d8648cbf55
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Sep 2020 15:31:33.9754 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: eATFWLROGz69Kr85yMG+nF58vXJxxXL3A7v2tpPeEeCWpX9nEpd6Z+A9tduGXQ9BqxChAAExpt/v7jMiweOKww==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB2774
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.36.7.13, xch-aln-003.cisco.com
X-Outbound-Node: alln-core-2.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/iYtvrzwe6XUhHq7ajtqs5ImE0BA>
Subject: Re: [Idr] [BULK] Bug in draft-ietf-idr-rfc5575bis, worth fixing?
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: Tue, 29 Sep 2020 15:31:41 -0000

This may have had something to do with getting an interface specific flowspec. There was debate about putting the interface specification as part of the NLRI or part of the attributes. My memory is leaking.

Regards,
Jakob.


On Sep 29, 2020, at 8:20 AM, John Scudder <jgs@juniper.net> wrote:

 Hi Robert,

You are right that RFC 5575 is very clear about that decision:


   We define a "Flow Specification" NLRI type that may include several
   components such as destination prefix, source prefix, protocol,
   ports, etc.  This NLRI is treated as an opaque bit string prefix by
   BGP.  Each bit string identifies a key to a database entry with which
   a set of attributes can be associated.


It’s also true that rfc5575bis retracts it. Appendix B makes it clear this wasn’t an accident:


      Section 1<https://tools.ietf.org/html/draft-ietf-idr-rfc5575bis-26#section-1> introduces the Flow Specification NLRI.  In [RFC5575<https://tools.ietf.org/html/rfc5575>]
      this NLRI was defined as an opaque-key in BGPs database.  This
      specification has removed all references to an opaque-key
      property.  BGP implementations are able to understand the NLRI
      encoding.


I haven’t gone back to check, but given that this was made so explicit in the draft, I’m going to suppose that it was discussed in the WG before the WGLC concluded, so I’m not very excited to re-litigate it.

I do think that it would be good to commence work on FSv2 soon, while we still have this experience fresh in our minds.

—John

On Sep 29, 2020, at 2:57 AM, Robert Raszuk <robert@raszuk.net<mailto:robert@raszuk.net>> wrote:



Hi Jakob,

> Flowspec does not AFAIK have any such NLRI... yet.

I am not quite sure what are you trying to say above.

Today in RFC5575 NLRI is clearly defined as a numeric value with a given length. It was by design not parsable by BGP. The entire NLRI is a key.

So updates and withdraws processing happens on the key as defined.

Now if we start to parse that value (except maybe for validation which I am also now pretty sceptical about) and dissecting part of that calling some types to be a key and some not - at min IMHO we should use different SAFI not to create complete deployment issues.

Many thx,
R.


On Tue, Sep 29, 2020 at 1:23 AM Jakob Heitz (jheitz) <jheitz@cisco.com<mailto:jheitz@cisco.com>> wrote:
Also to consider that in BGP, there are several examples of NLRI
where the NLRI key is not the whole NLRI, starting with RFC 3107,
where the label is not part of the key.

A speaker that receives an update with an unknown NLRI does not
know if that unknown NLRI servers to withdraw a (seemingly)
different unknown NLRI, if the parts that are different are not
key material.

Therefore, a BGP speaker must always be able to completely
parse and understand received NLRI.

Flowspec does not AFAIK have any such NLRI... yet.

Regards,
Jakob.

From: Idr <idr-bounces@ietf.org<mailto:idr-bounces@ietf.org>> On Behalf Of Robert Raszuk
Sent: Monday, September 28, 2020 1:44 PM
To: Christoph Loibl <c@tix.at<mailto:c@tix.at>>
Cc: idr@ietf. org <idr@ietf.org<mailto:idr@ietf.org>>; draft-ietf-idr-rfc5575bis@ietf.org<mailto:draft-ietf-idr-rfc5575bis@ietf.org>; John Scudder <jgs=40juniper.net@dmarc.ietf.org<mailto:40juniper.net@dmarc.ietf.org>>; bruno.decraene@orange.com<mailto:bruno.decraene@orange.com>; Hares Susan <shares@ndzh.com<mailto:shares@ndzh.com>>
Subject: Re: [Idr] [BULK] Bug in draft-ietf-idr-rfc5575bis, worth fixing?

All,

To me the real question is if we really should validate the content of NLRI or just make sure that NLRI boundaries meet BGP MP_REACH definition and treat NLRI values completely opaque to BGP (as per original RFC5575).

If NLRI is really malformed resulting in MP_REACH attribute being malformed I do not see that much harm in session reset.

But if we dive into each atomic type parsing of the NLRI value itself at each BGP speaker talking SAFI 133/134 I think this is going to be a mess.

Best,
R.



On Mon, Sep 28, 2020 at 9:41 PM Christoph Loibl <c@tix.at<mailto:c@tix.at>> wrote:
Hi,

I do not really want to repeat the whole discussion here (seems that we are going in circles) if not needed. I think that we agreed that if the NLRI is malformed the only option is to reset (+send notification) the session (even if we consider rfc7606). And from draft-rfc5575bis it is clear that we are talking about a malformed NLRI:


   A NLRI value not encoded as specified specified here is considered

   malformed and error handling according to Section 10 is performed.

-> I think that adding the small term that John suggested is sufficient.

Cheers Christoph

--
Christoph Loibl
c@tix.at<mailto:c@tix.at> | CL8-RIPE | PGP-Key-ID: 0x4B2C0055 | http://www.nextlayer.at<https://urldefense.com/v3/__http://www.nextlayer.at__;!!NEt6yMaO-gk!X4eMxV72EsYddrA45y5RcVvdurOK06WI3jav90JT_G28wjdKzOfMHr3s65ZeQA$>




On 28.09.2020, at 21:16, Alvaro Retana <aretana.ietf@gmail.com<mailto:aretana.ietf@gmail.com>> wrote:

[Explicitly adding Jeff to the To list.]

Hi!

During my AD review there was a discussion on the list about this point, and whether we could avoid resetting the session.  Jeff presented some examples and, I think, made a very convincing case of why we really can’t: even if we can look at the length, we would still be guessing.

I think this is one of the messages:  https://mailarchive.ietf.org/arch/msg/idr/FHC-Vz26LZfam-o5Y-9-WSrEm2g/<https://urldefense.com/v3/__https://mailarchive.ietf.org/arch/msg/idr/FHC-Vz26LZfam-o5Y-9-WSrEm2g/__;!!NEt6yMaO-gk!X4eMxV72EsYddrA45y5RcVvdurOK06WI3jav90JT_G28wjdKzOfMHr29g9EyWw$>

Jeff: if you get a chance, please chime in.

Thanks!

Alvaro.



On September 28, 2020 at 2:16:38 PM, John Scudder (jgs=40juniper.net@dmarc.ietf.org<mailto:jgs=40juniper.net@dmarc.ietf.org>) wrote:

I think that is the right thing, too: FS uses T,V and not T,L,V for its component types, the lengths are implicit. So, if my parser encounters an unknown type code it is impossible for me to know how to skip over that type code. At that point, parsing breaks down.
[Bruno] I had in mind the higher level of hierarchy:

   The NLRI field of the MP_REACH_NLRI and MP_UNREACH_NLRI is encoded as
   one or more 2-tuples of the form <length, NLRI value>.  It consists
   of a 1- or 2-octet length field followed by a variable-length NLRI
   value.  The length is expressed in octets.

                     +-------------------------------+
                     |    length (0xnn or 0xfnnn)    |
                     +-------------------------------+
                     |    NLRI value   (variable)    |
                     +-------------------------------+

                Figure 1: Flow Specification NLRI for IPv4

At this level, assuming that the NLRI value is found semantically incorrect, it seems to me that one could:
-          Skip this NLRI (thanks to the ‘length’ field) and continue with the next NLRI
-          Read the ‘NLRI value’ as an opaque data, and treat this NLRI as withdraw. (In the context of the discussion, this NLRI would never had been accepted, so ‘treat-as-withdraw’  could even be replaced with ‘ignore’. But I’m _not_ calling for this).
Hence it seems to me that treat-as-withdraw is technically possible.

Fair enough. It’s a little unfortunate that the draft contains this ambiguity; in retrospect it would have been better to be explicit about the error-handling strategy chosen rather than simply referencing RFC 7606. Whether or not we want to respin the draft in order to clarify it, is a question for the WG. If we were to make a change, it could potentially be the addition of this sentence, in Section 10:


   Error handling according to [RFC7606<https://urldefense.com/v3/__https://tools.ietf.org/html/rfc7606__;!!NEt6yMaO-gk!X4eMxV72EsYddrA45y5RcVvdurOK06WI3jav90JT_G28wjdKzOfMHr00REP3-Q$>] and [RFC4760<https://urldefense.com/v3/__https://tools.ietf.org/html/rfc4760__;!!NEt6yMaO-gk!X4eMxV72EsYddrA45y5RcVvdurOK06WI3jav90JT_G28wjdKzOfMHr324tDOCw$>] applies to this

   specification. Notably, an NLRI that is found to be semantically

   incorrect (for example due to an unknown component type) MUST be

   handled using the “treat-as-withdraw” strategy (which in this case,

   it must be noted, works out to be the same as skipping over the NLRI).