Re: [sidr] draft-ietf-sidr-bgpsec-protocol

"Alvaro Retana (aretana)" <aretana@cisco.com> Fri, 06 January 2017 23:10 UTC

Return-Path: <aretana@cisco.com>
X-Original-To: sidr@ietfa.amsl.com
Delivered-To: sidr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 20CA812969B; Fri, 6 Jan 2017 15:10:21 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.621
X-Spam-Level:
X-Spam-Status: No, score=-17.621 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-3.1, SPF_HELO_PASS=-0.001, SPF_PASS=-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
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 4MhYRmdsXBiI; Fri, 6 Jan 2017 15:10:19 -0800 (PST)
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 33FD812968F; Fri, 6 Jan 2017 15:10:19 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=18996; q=dns/txt; s=iport; t=1483744219; x=1484953819; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=Mszwsp30dwU55hh43k3bpobeSSSwz1TSkkwQtIogL/Y=; b=eitqy0x3I5DyKDO1Sq7QJgiNWcB8Uy7QCMYCLmltattDRUObD/tinUoW dcrqWf33Qx+bICh353YVT3i1aTE5IGppIF5SHwYtaW3E/SAKTtct8YkBg oYxI2q669lWueB2pb7X7NdFcyx3nPDF8ZJxVMgCHP2wBguoBeMYy7y3Pc c=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AUAQDuInBY/4UNJK1eGQEBAQEBAQEBAQEBBwEBAQEBgnFIAQEBAQEfX4EMB41Qoh6FKoIJhiICGoE8PxQBAgEBAQEBAQFjKIRpBiNWEAIBCEICAgIwJQIEAQ0FH4hRsDmCJSuJdAEBAQEBAQEBAQEBAQEBAQEBAQEBAR2GRYICCIJXh04tgjEFlRqFewGRRoF3hQiJXIgJikcBHziBPBU1DwGEGRyBX3OHWYENAQEB
X-IronPort-AV: E=Sophos;i="5.33,326,1477958400"; d="scan'208,217";a="369579132"
Received: from alln-core-11.cisco.com ([173.36.13.133]) by alln-iport-7.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 06 Jan 2017 23:10:18 +0000
Received: from XCH-ALN-005.cisco.com (xch-aln-005.cisco.com [173.36.7.15]) by alln-core-11.cisco.com (8.14.5/8.14.5) with ESMTP id v06NAISf024765 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 6 Jan 2017 23:10:18 GMT
Received: from xch-aln-002.cisco.com (173.36.7.12) by XCH-ALN-005.cisco.com (173.36.7.15) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Fri, 6 Jan 2017 17:10:17 -0600
Received: from xch-aln-002.cisco.com ([173.36.7.12]) by XCH-ALN-002.cisco.com ([173.36.7.12]) with mapi id 15.00.1210.000; Fri, 6 Jan 2017 17:10:17 -0600
From: "Alvaro Retana (aretana)" <aretana@cisco.com>
To: "Sriram, Kotikalapudi (Fed)" <kotikalapudi.sriram@nist.gov>, Keyur Patel <keyur@arrcus.com>
Thread-Topic: draft-ietf-sidr-bgpsec-protocol
Thread-Index: AQHSaHILNfH8MXPYLkOmxwl9coeqvw==
Date: Fri, 06 Jan 2017 23:10:17 +0000
Message-ID: <6C8E073D-F1AB-4588-8DFF-FAA0A2465273@cisco.com>
References: <B3E00907-BF7C-400D-8A5B-4F02BA2A2C12@arrcus.com> <C3B0482B-1007-4B29-B178-DE98C062E197@arrcus.com> <DM2PR09MB0446573C5C4C482D62700B6884630@DM2PR09MB0446.namprd09.prod.outlook.com>
In-Reply-To: <DM2PR09MB0446573C5C4C482D62700B6884630@DM2PR09MB0446.namprd09.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/f.1d.0.161209
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.117.15.5]
Content-Type: multipart/alternative; boundary="_000_6C8E073DF1AB45888DFFFAA0A2465273ciscocom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/sidr/mYP6laalsmiosbPm4FCFsydpOMA>
Cc: "sidr-chairs@ietf.org" <sidr-chairs@ietf.org>, "mlepinski@ncf.edu" <mlepinski@ncf.edu>, sidr <sidr@ietf.org>
Subject: Re: [sidr] draft-ietf-sidr-bgpsec-protocol
X-BeenThere: sidr@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Secure Interdomain Routing <sidr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sidr>, <mailto:sidr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sidr/>
List-Post: <mailto:sidr@ietf.org>
List-Help: <mailto:sidr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sidr>, <mailto:sidr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 06 Jan 2017 23:10:21 -0000

On 1/6/17, 12:40 AM, "Sriram, Kotikalapudi (Fed)" <kotikalapudi.sriram@nist.gov> wrote:



[Cut the distribution list a little.]



Sriram:



Hi!  Happy New Year!



I have some comments on this, please see below.



Thanks!



Alvaro.





…

| | 1)  Section 4.1 “The BGPsec Path attribute and the AS_PATH attribute are mutually

| | exclusive. That is, any update message containing the BGPsec Path attribute MUST NOT

| | contain the AS_PATH attribute”.  For any restarting speakers in a GR mode, where the bgp

| | capability is not exchanged, the existing stale routes won’t have an AS_PATH attribute. We

| | could add some clarifying that helps to indicate that such routes should be considered

| | valid in stale mode (till they get refreshed)?

|

| [Sriram]  As you have clarified for me on the phone, what you are saying here is that the

| two BGPsec peers lost the BGPsec session and now restarting in GR mode, but they have not

| exchanged BGPsec capability this time. Hence, they are now simple BGP (non-BGPsec) peers

| in GR mode. RFC4271 considers update message received without a well-known AS_PATH

| attribute as an error, and unfortunately in this case the cached BGPsec updates do not have

| AS_PATH (albeit they have BGPsec_Path). So you are saying "the router should not panic"

| and instead simply treat each cached update as NOT-IN-ERROR even though it is missing

| AS_PATH attribute. This way the GR can work properly. Of course, shortly the updates will

| have AS_PATH (and not considered in error) when they get refreshed (over the new simple

| BGP session). Per your suggestion, I will include new text in Section 7 to describe this

| required behavior for the GR mode.



I don’t have an objection for this behavior, but I think we should make the WG (and idr!) aware of the change and get their comments (if any) before I approve the publication.





…

| | 3)  Section 5 and Section 5.2, 1st paragraph: RFC4271 considers update message received

| | without a well-known AS_PATH attribute as an error.  We need some text to clarify the

| | (error handling if any) behavior when an update message is received without a bgpsec and

| | an aspath attribute. The current draft text seems unclear about generation of bgpsec

| | attribute as well (in a ibgp scenario). Is it a requirement to generate an empty bgpsec

| | attribute?

|

| [Sriram]  As you have clarified for me over the phone, RFC 4271 (page 26) says the

| following :

|

|  "When a BGP speaker originates a route then:

|   b) the originating speaker includes an empty AS_PATH attribute in

|        all UPDATE messages sent to internal peers.  (An empty AS_PATH

|         attribute is one whose length field contains the value zero)."

|

|

| [Sriram]  So what needs to be said in the BGPsec document is the following:  The

| BGPsec_Path attribute is not attached in updates originated inside an AS and propagated to

| BGPsec capable internal peers. However, when a route is originated inside an AS and

| propagated to non-BGPsec internal peers, an empty AS_PATH attribute is included in the

| update (see [RFC 4271], page 26).



The Route Selection Section (9.1.2) in RFC4271 is not explicit about performing loop detection only on eBGP sessions – the criteria is generic to any route, so there is a possibility that a BGPsec-capable router may want to perform loop detection on an iBGP-received Update.  Given this text from Section 5 in the BGPsec spec:



   Whenever the use of AS path information is called for

   (e.g., loop detection, or use of AS path length in best path

   selection) the externally visible behavior of the implementation

   shall be the same as if the implementation had run the algorithm in

   Section 4.4 and used the resulting AS_PATH attribute as it would for

   a non-BGPsec update message.



…how should an iBGP speaker perform loop detection if there’s no BGPsec_Path attribute?  In other words, there is no defined mechanism to run the algorithm in 4.4 without it.



I’m not suggesting that you include an empty attribute, but that you indicate in 4.4 that no BGPsec_Path attribute is equivalent to an empty AS_PATH.



Thanks!



Alvaro.