Re: [Rift] AD Review of draft-ietf-rift-rift-12 (Part 2a)

Jordan Head <jhead@juniper.net> Fri, 22 July 2022 12:55 UTC

Return-Path: <jhead@juniper.net>
X-Original-To: rift@ietfa.amsl.com
Delivered-To: rift@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A9BCFC157B33; Fri, 22 Jul 2022 05:55:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.691
X-Spam-Level:
X-Spam-Status: No, score=-2.691 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.582, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, 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=ag4/FAX/; dkim=pass (1024-bit key) header.d=juniper.net header.b=eYhP+WDT
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vm46BIS6YTnb; Fri, 22 Jul 2022 05:55:16 -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 1173DC14F74E; Fri, 22 Jul 2022 05:55:15 -0700 (PDT)
Received: from pps.filterd (m0108162.ppops.net [127.0.0.1]) by mx0b-00273201.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 26M9Rgd4021920; Fri, 22 Jul 2022 05:55:14 -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=GK6GB+qOJT1jN9ZaUMgQkKSBq6gjOma+aooCrDSlcWQ=; b=ag4/FAX/BCxoaRyuW8tds8560ax0jQtFuulOzjjR9jqGLu6ZTu3ynwXAXKe6g+pqyroK TWryk9R/TYbTwc7W/yM//ilx5NrGOO/2Jlff5lIexboU5ojEW63Iuo45aEkj9hN08dHa goql/TOyp3mts7abWehNm5SS/aVFBodekT7heJM2keBLhVXeLJLTZpHP/dA1zaRj8T39 CqgndGnp21AM7qkEJwsULCIk4Zf0khpiKHJpJzFt2rwHjb3+M7e9YMLwvcIfgqSeEUM3 Hdi+lAB5BE4+2HdZtjI72E/OlBQsFKogW70i2PpZfoWwBNrCEP5Ih93zV2UPhTY/HjMl 7g==
Received: from na01-obe.outbound.protection.outlook.com (mail-eastusazlp17010005.outbound.protection.outlook.com [40.93.11.5]) by mx0b-00273201.pphosted.com (PPS) with ESMTPS id 3hfs94ga3y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 22 Jul 2022 05:55:14 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YXWoKw9JRUpsz6MAmJfcq6TLF8L/J2bVL+zV12F8zCxTEfzBI0Sfb1V1rqpJPxw18Lqx3u5MO66LuWZq0s17sntTG2TJaAc2qIH0CwgziqhTWims188GjNc8Mvs5gLjPHbvhO+z3Igl90hHGW74cVZzjG4WNlTwgpAHbd+Va+HXdOOT3PRpWzfBOvRV9aDbr/wZaTbWljxl6lLwOrpPwiIRhDRH+ymrjSmbzUT1TjJr6RhMcsA/woCGloR9uIZmkBUCxWHy/LTUZbIvb5D1OJAfF+dIQuUqe6Ju3LZ5CBP8Zi6QWclcmBlMV1d4AW/H7HC8SxOUJK2JLubJTLTyvJA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=GK6GB+qOJT1jN9ZaUMgQkKSBq6gjOma+aooCrDSlcWQ=; b=BTtQgfifEpiIlWYC+YbcENY2gqtodanz/CpMn7v0koqv2VXKO+oWWUi1OeH+QQrNDdy6PuLpcAYBGv86zkLWRoVVry2HOVlnrzz4uu4iaoj32evrqTIxCsXh48fs3ejce1QgaH/jq9ivSbW5jwR0zzfPEg1azkvoEU9b7KjchTATOM3PVGYizeIHA4TcQXQLKL3dUUTYkWSSmmYHnguKcIbJ8vK7h9w8d4+hKOMfP3RgBq7YRowJZ0yEEU7db1Z+rQXVnh7fMhAN1FAC81U7IK9pzLojxb8j5XGToaW9SbxybrmMkpn1jF3BwgQwlY5VgVrXBeC9TymnoiBr8Fw3bQ==
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=GK6GB+qOJT1jN9ZaUMgQkKSBq6gjOma+aooCrDSlcWQ=; b=eYhP+WDTtmqGcYuD5pzvT/QF8zsU4rM+rqqv/QVTfiFZIZ6WfRgpfigv1fMyXvILEXMjWtcf1nZFDmea2ky/R7sUbBUih+qL9vc1JxHj3twbPlfwuCwxZBbpxsCcumNHttAfDd2zjC/Ru7d6ihZeVZwNQvpOet1gixPOQPI5i2A=
Received: from BYAPR05MB5368.namprd05.prod.outlook.com (2603:10b6:a03:1b::12) by DM6PR05MB5577.namprd05.prod.outlook.com (2603:10b6:5:c::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.1; Fri, 22 Jul 2022 12:55:10 +0000
Received: from BYAPR05MB5368.namprd05.prod.outlook.com ([fe80::a7:c243:face:f412]) by BYAPR05MB5368.namprd05.prod.outlook.com ([fe80::a7:c243:face:f412%5]) with mapi id 15.20.5458.016; Fri, 22 Jul 2022 12:55:09 +0000
From: Jordan Head <jhead@juniper.net>
To: Alvaro Retana <aretana.ietf@gmail.com>, Tony Przygienda <tonysietf@gmail.com>
CC: "rift-chairs@ietf.org" <rift-chairs@ietf.org>, "draft-ietf-rift-rift@ietf.org" <draft-ietf-rift-rift@ietf.org>, "EXT-zhang.zheng@zte.com.cn" <zhang.zheng@zte.com.cn>, "rift@ietf.org" <rift@ietf.org>
Thread-Topic: [Rift] AD Review of draft-ietf-rift-rift-12 (Part 2a)
Thread-Index: AQHYncKY/ib1VR/PHUmzmLg6WRhTca2KFcIA
Date: Fri, 22 Jul 2022 12:55:09 +0000
Message-ID: <92F73454-2598-4097-8CD9-C5E5A22CBEBE@juniper.net>
References: <CAMMESsxBr0+UriSaTDVZMrFzU6DSiuC3-wO4+7HgX4nX7SLHmg@mail.gmail.com> <CA+wi2hPcFoGoTi=GFx9zyXeKFmM3WZi82YBX4WVjY2jYPW7Mig@mail.gmail.com> <CO1PR11MB488171455D0FD980DC4D4C39D8769@CO1PR11MB4881.namprd11.prod.outlook.com> <CAMMESsx1oCVofW1cNzr5xo60vw50P4iUEedzwQW54xKQ0zezjw@mail.gmail.com> <CA+wi2hNtSwEGHc8ySjEPTamvqJBBh7AFbbPngvjh07QJS=ttrw@mail.gmail.com> <CAMMESsxvp7MByOzoiNHWNNGNm9bp5aiUEgrhKriU7BYy=pYXLQ@mail.gmail.com> <CA+wi2hM7arcayCEh+9YN4bccp1ZB41EFK+7JijZ+TViFUWKtqQ@mail.gmail.com> <CAMMESsz=6HQLsQQVMW4QS_OLtnoTMgvpt3R3AXDdycTp4ig2EA@mail.gmail.com>
In-Reply-To: <CAMMESsz=6HQLsQQVMW4QS_OLtnoTMgvpt3R3AXDdycTp4ig2EA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.62.22061100
msip_labels: MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_Enabled=true; MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_ContentBits=0; MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_SiteId=bea78b3c-4cdb-4130-854a-1d193232e5f4; MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_ActionId=2d8974eb-99fa-4a62-9f29-429f267f2a81; MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_SetDate=2022-07-22T12:52:40Z; MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_Method=Standard; MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_Name=Juniper Business Use Only;MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_Enabled=true;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 3d1f1020-8ddf-49b8-9bb4-08da6be168c8
x-ms-traffictypediagnostic: DM6PR05MB5577:EE_
x-ld-processed: bea78b3c-4cdb-4130-854a-1d193232e5f4,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: CmN1WiAZcCkeYriml6LUzvHdjxlRjcnGmkHs0zzYcvL0vkIxSXKAsJEce+W8SoHLW5cXN2eNdtIeyEqaoa1wtfHLTu5ARC6eqxE2au2bZSYV2BL/3O6rurZLWrT58yS0C0cSXzBSKh0oXraHr+QK7uiLjttQv51WHvkxyrMAYHxmDWmtBb1bB1zL/6dyf89SWq1XQbcgTA4VPZxxcM3fERplVT3K/tpRlUStY62lHU8G7br49TLSVrp9gAKbGwy3qzJpyJtkXjMI/bJ0oV4sal53P9zVoOmbcv/d5XoyEAKWCRY0Zg8lz9XE81k04G/XE8rXFAttStTTpKGYKKfoDbXuyoFiVv69Iu3GBaub4EO/p4ViMDOHdhAD1DOOBxHEv915Xf85h+iM7b/mZpAciBOhzHf4ZqM4LKNBj7E3guF6gE8BpUh9Khvsv5iwgeL6c/8Lk3zIbLfhUorg/Eb9LoAwpC80YVn88vzl33pdCst2AdgLXUefDSVnRVERb+3ZGKFKfQn13aXwodnpXN/VQztZZeMzX5CO1wiBgck6xUGnBhCDifrgjhwKIXKsy9LZ9Vs+cLhHeVT2j+17duTXTdrF/duePPjA3Fq/Pd1eKlVf8fBFBJypCWDWh9QXvEDJ/BXnbStc0FQQkvH/2d5VStLufTf4eq/HX7w0zkCO05Vqt+Mq+2biUqW4jy+UzJJRmquMingEOFAjRMOElGREemZuXJE8HvGd28V/6SY6FnZWWPxC9V0cjG3wgoU3Mwj9oJ6fup4PT+y1Upuvkr5QePo6cxIxfWmJTHzRwpTyRQXeDaoLqtXqPW0ST52fqJtb0k4UabkOwTvanSYWKOpEC24rrCznIUj1V9Bx7pb7e9TdV73zmnAKszVzz9H+3itf
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR05MB5368.namprd05.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(136003)(346002)(39860400002)(366004)(396003)(376002)(38070700005)(8936002)(316002)(83380400001)(2906002)(6512007)(5660300002)(54906003)(186003)(30864003)(110136005)(2616005)(38100700002)(66556008)(8676002)(41300700001)(76116006)(71200400001)(86362001)(66946007)(33656002)(36756003)(122000001)(4326008)(91956017)(478600001)(6506007)(26005)(66446008)(6486002)(64756008)(66476007)(45980500001)(579004); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: EPtgcCL7WMIaye1UzKjmErArR98HlKVsuoG4plDxlR+diKZvD+3rWnQD5yWhVt5+K/xMkSjUKxznFDF+OSssLCmrR0KKSlGSIAmTadUu8oSHBlKkg4hwvFXG6hCLo5UDPIUFLSo75vTHSVJwWjH9hDNgp/13kg47ykpbggBJ/L6HoREQlbz1GoO1iliROAwoY655eoU2ck1UhfiqElam+LDnfEUfByTKtzfQcvUI9x3tp+geJkZ+kxfjml/m1IqHt8017JJGkMB6iF4OOHdk7wzGYxLe9UN3Di08JxNPgP5N0rD2RIoKLpLG/A8ktoypJVe/djirZT6gYL6Buc3rHgDcCK3fT8kWZ7Qn/yiToa/bLN6w9bUDD2GUEnW74UmLbl1mM7LHVB9Z3KaBgvIKT7hO5zvAbYggwHaVeFHnZuDusHt0tKD1ClrG0GSzbItCkWRhDrAyzzdo8ofQRlrlSW8pJkFNp6TA4rFvc8tHaRBHDM3+tMdgPpAM6GaI1OysMQY80kN5qomNEYl1kGQjQ+XIbo8ynRxyhabvYhKDEMdGeLG/FkKpsLAi63l4hghkArPSt8mOdAvhPqli48LIWF0phN7CoyapxfI5r/TLmXMh2nOlJM9MxotxJcJ1or1Z4Z3HEyDXB1UvyFc2fe0o0ArfHNmeXcrAt5LnNxkpvt7NZ3BdFbd9jOuxNIzL/wlZIdwrK6HOyIOFIyJRQF4HeADISfSLartB+yVDpcP4xSv+pcCchJPHhOYppm1OV0xG+AuMkYQVl96dXSL03QPnTFh6XlFWAEMCKJm8+vUQNTttI0eu/1ywPISyEupbx1k+UIQwRmxfL2cZH37UND0bHqczs9qMgJc7gWio2tplQFF31Xqa0TrGgx9B05Y2tnqQcNnQW/NACq8iFDmyWkxd/Q4/kF8H29WBxOysKf1tB1nctOmsfFiUXz53Ffqpc5v2D8c9xVvc7T0nM0suSKnf0n0jbP/33F9SLGte45UM4DQQn7tRdl9P3lIeGEsn8c1pgY/j8K9NgAXLlU9+0+YXwqMSVHTO3ON70vuZRiiblJ0qHJ9EvJRSeKMBDdbKMkhwCHFVWoUxPwKAAJFL1vX/78QPn0+xUn/iBUimWfIrCstLt2JMGAu8UZ4DLO0oFSo68j8I7NMb9zFUQ5Ypi3VZwn9i6pMkssTP1tlY1Y348xzQTMmWuCETfyCph5rybzCTQEXN0sWbnDPZ3yVoqOXJTkbwgsH8WUZQJmgUw0HcvGNeEjpHaQgXNZ71hyiZhpS6aXvfVOjFS3OyeOKuT1+ahuK4Hr7XCsPgi2Au2mIYhFsiK5Aal3JHWbpU08uJH7TTlhrJCLE0VDxKgTSmvFPWa1+FH67Gc4dttTVefk2YdqXL8jR4Zcs2bg2j5kXSf9K666ir3yTiRUQuZrxdPG3b2fV7g7iRA7JcfMGVUobZSJIDlnbPaOw4AH78nQdT+/SU0TRy7xt8RE2jbMLSfHIEZvakF/48V637xMk8c84YXEA3Rhv3h8kDea3At547SglpuEgi4yjOPNjKPUTCrHhc75lt1+u5112dhLqdUyuHFO8yFCp1jReVZRDsIjOZKuvM
Content-Type: text/plain; charset="utf-8"
Content-ID: <AD6E2F59BF90794D89EF5C7335B849A4@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: BYAPR05MB5368.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3d1f1020-8ddf-49b8-9bb4-08da6be168c8
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jul 2022 12:55:09.5668 (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: df8/nLMWxFd6GNYkRjhgryPLrsw938PKwNhBSKFpmlOVVkd/9Ua68ui7aPLmNtGP0WccN3kpP4UfBASYCD9iQw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR05MB5577
X-Proofpoint-GUID: GZc33vmtsRx5_hBM4vGlN2Ikt15VrSG4
X-Proofpoint-ORIG-GUID: GZc33vmtsRx5_hBM4vGlN2Ikt15VrSG4
X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-07-22_04,2022-07-21_02,2022-06-22_01
X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 clxscore=1011 spamscore=0 phishscore=0 impostorscore=0 malwarescore=0 adultscore=0 lowpriorityscore=0 suspectscore=0 bulkscore=0 mlxscore=0 mlxlogscore=999 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2206140000 definitions=main-2207220054
Archived-At: <https://mailarchive.ietf.org/arch/msg/rift/IB9KTxxjBrdSLvCDGhu9Zur2qC4>
Subject: Re: [Rift] AD Review of draft-ietf-rift-rift-12 (Part 2a)
X-BeenThere: rift@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Discussion of Routing in Fat Trees <rift.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rift>, <mailto:rift-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rift/>
List-Post: <mailto:rift@ietf.org>
List-Help: <mailto:rift-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rift>, <mailto:rift-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 22 Jul 2022 12:55:21 -0000

Thanks, Alvaro,

I have the necessary changes per your previous review implemented, no submission as the draft upload tool isn't enabled yet.

I'll start working through this round of comments with Tony.

On 7/22/22, 8:00 AM, "Alvaro Retana" <aretana.ietf@gmail.com> wrote:

    [External Email. Be cautious of content]


    Hi!

    I have a couple of replies and then some comments on the updated text in -15.

    Thanks!

    Alvaro.


    ...
    > > Part 2a starts with §4.2 (Specification) and goes just through §4.2.2 -- I
    > > just started reading the LIE FSM/§4.2.2.1. I included a couple of comments
    > > on the schema itself.
    ...


    For the Chairs/Shepherd:

    > > - §8.1 includes a set of suggested UDP ports, but they are not reflected
    > > in the registry. Early allocation has not been requested -- you should
    > > consider doing so. See rfc7120.

    The same comment applies to the multicast addresses.



    ...
    > > [minor] "IPv4 Time to Live (TTL) / IPv6 Hop Limit (HL) of 1" Was GTSM
    > > (rfc5082) considered? Several documents (for example, rfc8085 and
    > > draft-ietf-opsec-v6) suggest its use. You may be asked about it later. It
    > > would be good to preempt those questions by adding some text in the
    > > Security Considerations about any risks...or using it.
    >
    > There is a religious war about 255 vs. 1 since a long time. I personally in
    > deployment was hurt @ least twice by implementations ending up not checking
    > TTL/misprocessing and forwarding one-hop packets with 254 on unicast/
    > multicast. Also, having a buggy FIB looping tightly packets with TTL 255 is
    > seldom fun. I never saw a thing not decrementing TTL and dropping on 1. I
    > prefer the 1 with possibly a multi-hop spoof (never saw that in my life
    > frankly, such an attack is really, really hard to engineer) than a rogue
    > packet running away in the network or micro looping 255 times on fast links.
    >
    > What I saw were replay attacks and against those RIFT is extremely well
    > protected as far it's practically implementable. Plus, if one _really_ wants
    > security one configures adjacency keys (and RIFT allows a full plethora of
    > that) rather than rely on the 255 hack to have "kind of a little lick of
    > security".
    >
    > So if the security folks push on it we can always go to 255 or write that the
    > TLL received MUST be either 255 or 1 to satisfy both camps.
    ...
    > > 1500 LIEs arriving with IPv4 Time to Live (TTL) / IPv6 Hop Limit (HL)
    > > 1501 larger than 1 MUST be ignored.
    > >
    > > [major] "MUST be ignored" The specification of the sender (§4.2.2) says
    > > that "LIEs SHOULD be sent with an IPv4 Time to Live (TTL) / IPv6 Hop Limit
    > > (HL) of 1". This is a Normative conflict because it is only recommended to
    > > the sender, but required by the receiver.
    >
    > aha, yes, very good. I'm reluctant to say MUST since it's not always possible
    > on a platform to force TTL (this is UDP). So I make it SHOULD on both sides.
    >
    > your comment on the 255/1 stands of course.

    The text in -15 says:

       LIEs SHOULD be sent with an IPv4 Time to Live (TTL) / IPv6 Hop
       Limit (HL) of either 1 or 255 to prevent RIFT information
       reaching beyond a single L3 next-hop in the topology.

       ...

       LIEs arriving with IPv4 Time to Live (TTL) / IPv6 Hop Limit (HL)
       different than 1 or 255 SHOULD be ignored.


    The good thing is that you removed the Normative conflict: both
    sentences now say SHOULD.  The bad thing is that, even if providing
    more options, anything can be used (1, 2, 4, 56, 123, 254, 255, etc.)
    because neither the sender nor the receiver is required to do
    anything.

    In the reply (above) you suggested using MUST.  That would be a good
    start.  But then you also said you were reluctant...

    Note that in my original comment I was just asking whether GTSM was
    considered and to justify why not (if you had considered and didn't
    want to use it), not to add the cumbersome support for both cases.
    IOW, do it any way you want, please be clear about any requirement
    (MUST), and justify why you're not following what other documents
    recommend (if not using 255) and how any issues can be mitigated (or
    if they need to be -- see the Security Considerations in rfc5082).



    > > [major] "LIEs SHOULD be sent with network control precedence." When is it
    > > ok to not do so? IOW, when is this behavior recommended and not required.
    > > BTW, please add a reference.
    >
    > hard to implement often that's why it's not MUST. will add ref to precedence.

    You didn't add a reference.



    *****
    What follows are comments on -15 covering the same sections (§4.2
    (Specification) through §4.2.2).
    *****

    [Line numbers from idnits.]


    ...
    1417    4.2.  Specification
    ...
    1423       The FSMs, as usual, are presented as states the FSM can assume,
    1424       events that it can be given and according actions performed when
    1425       transitioning between states on event processing.

    1427       Actions are performed before the end state is assumed.

    [nit] Suggestion>
       The FSMs are presented as states a node (?) can be in,
       events that can take place, and resulting actions, which
       are performed before the next state is taken.


    ...
    1441       Any attempt to transition from a state towards another on reception
    1442       of an event where no action is specified MUST be considered an
    1443       unrecoverable error, i.e. the protocol MUST reset all adjacencies,
    1444       discard all the state and MAY NOT start again.

    [major] "MUST be considered an unrecoverable error"

    Given that the meaning of this phrase is explained, we don't need
    Normative language:  s/MUST/must


    [major] "MAY NOT start again"

    "MAY NOT" is not an rfc2119 keyword.  I assume you mean that the
    behavior is not optional (i.e. mandatory), right?   s/MAY NOT/MUST NOT



    ...
    1461    4.2.1.  Transport

    1463       All packet formats are defined in Thrift [thrift] models in
    1464       Appendix B.  LIE packet format is contained in the `LIEPacket` schema
    1465       element.  TIE packet format is contained in `TIEPacket`, TIDE and
    1466       TIRE accordingly in `TIDEPacket`, `TIREPacket` and the whole packet
    1467       is a union of the above in `ProtocolPacket` while it contains a
    1468       `PacketHeader` as well.

    [nit] s/ and the whole packet is a union of the above in
    `ProtocolPacket` while it contains a `PacketHeader` as well./.  The
    whole packet is the union of a 'PacketHeader' and the above.



    ...
    1477    4.2.2.  Link (Neighbor) Discovery (LIE Exchange)
    ...
    1507       An implementation MAY listen and send LIEs on IPv4 and/or IPv6
    1508       multicast addresses.  A node MUST NOT originate LIEs on an address
    1509       family if it does not process received LIEs on that family.  LIEs on
    1510       same link are considered part of the same LIE FSM independent of the
    1511       address family they arrive on.  Observe further that the LIE source
    1512       address may not identify the peer uniquely in unnumbered or link-
    1513       local address cases so the response transmission MUST occur over the
    1514       same interface the LIEs have been received on.  A node MAY use any of
    1515       the adjacency's source addresses it saw in LIEs on the specific
    1516       interface during adjacency formation to send TIEs (Section 4.2.3.3).
    1517       That implies that an implementation MUST be ready to accept TIEs on
    1518       all addresses it used as source of LIE frames.

    [major] "An implementation MAY listen and send LIEs on IPv4 and/or
    IPv6 multicast addresses."

    Sorry to come back to this, but it's really bothering me.  After
    reading this multiple times I figured out what is the problem: Yes,
    it's optional to listen/send on IPv4 and/or IPv6 -- I too like the
    flexibility.  *But*, for rift to work there's an expectation that at
    least one will be used.  IOW, while the selection is flexible,
    selecting (at least) one AF is *not* optional (otherwise the protocol
    doesn't work).

    The "MAY" above is not a Normative statement because one AF (or both)
    should be used.  The sentence is really just a statement of fact: any
    (or both) AF can be used.

    All this is to suggest this change: s/MAY/may


    [major] "MAY use any of the adjacency's source addresses it saw in
    LIEs...to send TIEs."  This use of "MAY" makes using the source
    address from a LIE optional.  §4.2.3.3 says that "TIEs...using the
    destination address on which the LIE adjacency has been formed", which
    doesn't make the use optional.

    I'm also revisiting this -- again, statement of fact, not an option: s/MAY/may



    1520       A simplified version on platforms with limited multicast support MAY
    1521       implement optional sending and reception of LIE frames on IPv4 subnet
    1522       broadcast addresses and IPv6 all routers multicast address though
    1523       such technique is less optimal and presents a wider attack surface
    1524       from security perspective.

    [major] Ahhh...mmmm...

    Let's start with this: I'm not sure how to read this sentence, a few
    commas would help.

    You don't need to solve all the cases.  What is "limited multicast
    support"?  As I interpret the sentence, IPv6 seems to support
    multicast so the choice is simple: use IPv6.  As you explain, the node
    doesn't have to use both.

    The phrase "MAY implement optional..." is a double indication that
    "sending and reception" is optional: you don't have to.  Which seems
    to point to the obvious conclusion of use IPv6.

    In summary, I don't understand the value of this sentence, including
    the use of a normative MAY ... but maybe I just don't understand the
    sentence itself. :-(



    1526       A ThreeWay adjacency (as defined in the glossary) over any address
    1527       family implies support for IPv4 forwarding if the
    1528       `ipv4_forwarding_capable` flag in `LinkCapabilities` is set to true.
    1529       A node, in case of absence of IPv4 addresses on such links and
    1530       advertising `ipv4_forwarding_capable` as true, MUST forward IPv4
    1531       packets using gateways discovered on IPv6-only links advertising this
    1532       capability.  It is expected that the whole fabric supports the same
    1533       type of forwarding of address families on all the links, any other
    1534       combination is outside the scope of this specification.
    1535       `ipv4_forwarding_capable` MUST be set to true when LIEs from a IPv4
    1536       address are sent and MAY be set to true in LIEs on IPv6 address if no
    1537       LIEs are sent from a IPv4 address.  If IPv4 and IPv6 LIEs indicate
    1538       contradicting information protocol behavior is unspecified.

    [major] "absence of IPv4 addresses...and advertising
    `ipv4_forwarding_capable`...MUST forward IPv4 packets using gateways
    discovered on IPv6-only links"

    Just to be clear, the choice of which AF to use when sending LIEs is
    up to the nodes -- which then means that nodes may decide (or be
    configured) to only use IPv6 with RIFT, even if IPv4 is configured on
    the interface.  Right?  I assume that's true because it is the third
    case shown in Table 1.

    IOW, not having IPv4 configured ("absence of IPv4 addresses") is not
    the only case where ipv4_forwarding_capable can be set, and also not
    the only case where the interface will support v4overv6.  This will
    also happen if the LIEs/TIEs are only advertised over IPv6 (regardless
    of which AFs are supported/configured on the interface).

    The sentence above is then misleading because it mandates the v4overv6
    behavior only in the "absence of IPv4 addresses".


    [major] "MUST forward IPv4 packets using gateways discovered on IPv6-only links"

    I assume that this means that the IPv4 packet is encapsulated in IPv6
    and sent to a link-local address -- is that what you mean?  Using
    "gateways discovered" may give the impression that there's more
    involved.  You may want to consider being explicit about the
    operation.

    Also, in Figure 1 the text (for the 3rd case: IPv4/IPv6 over IPv6)
    simply says "IPv4 is forwarded", giving the wrong impression that the
    IPv4 is natively (not encapsulated) forwarded.

    At some point we talked about the fact that forwarding is out of scope
    -- that's ok.  I'm calling out this text because it requires
    forwarding ("MUST forward").  Please make the behavior non-normative
    and declare the specific mechanism to "forward IPv4 packets...on
    IPv6-only links" out of scope.


    [minor] s/`ipv4_forwarding_capable` MUST be set to true when LIEs from
    a IPv4 address are sent and MAY be set to true in LIEs on IPv6 address
    if no LIEs are sent from a IPv4 address./If IPv4 forwarding is
    supported on an interface, `ipv4_forwarding_capable` MUST be set to
    true when LIEs from a IPv4 address are sent and MAY be set to true in
    LIEs on IPv6 address if no LIEs are sent from a IPv4 address.


    [nit] s/information protocol/information, protocol



    1540       Operation of a fabric where only some of the links are supporting
    1541       forwarding on an address family or have an address in a family and
    1542       others do not is outside the scope of this specification.

    [] I think it's ok to leave the operation of the fabric out of scope,
    but the ability to forward IPv4 traffic without having it configured
    means that there are some operational aspects that are left out, and
    which are not clearly specified anywhere else (as in not even in other
    specifications).

    For example, take a look at §3/rfc9229 (IPv4 Routes with an IPv6 Next
    Hop in the Babel Routing Protocol).  The intent is not to compare,
    just to point out a recent example of something similar which resulted
    in significant discussion during IESG Evaluation.

    I don't expect any action, just something to keep in mind if it comes up later.



    ...
    1550          +=======+=======+=============================================+
    1551          | AF    | AF    | Behavior                                    |
    1552          +=======+=======+=============================================+
    1553          | IPv4  | IPv4  | LIEs and TIEs are exchanged over IPv4, no   |
    1554          |       |       | IPv6 forwarding.  TIEs are received on any  |
    1555          |       |       | of the LIE sending addresses.               |
    1556          +-------+-------+---------------------------------------------+
    1557          | IPv6  | IPv6  | LIEs and TIEs are exchanged over IPv6 only, |
    1558          |       |       | no IPv4 forwarding if either of the         |
    1559          |       |       | `ipv4_forwarding_capable` flags is false.   |
    1560          |       |       | If both `ipv4_forwarding_capable` flags are |
    1561          |       |       | true IPv4 is forwarded.  TIEs are received  |
    1562          |       |       | on any of the LIE sending addresses.        |
    1563          +-------+-------+---------------------------------------------+
    1564          | IPv4, | IPv6  | LIEs and TIEs are exchanged over IPv6, no   |
    1565          | IPv6  |       | IPv4 forwarding if either of the            |
    1566          |       |       | `ipv4_forwarding_capable` flags is false.   |
    1567          |       |       | If both `ipv4_forwarding_capable` are true  |
    1568          |       |       | IPv4 is forwarded.  TIEs are received on    |
    1569          |       |       | any of the IPv6 LIE sending addresses.      |
    1570          +-------+-------+---------------------------------------------+
    1571          | IPv4, | IPv4, | LIEs and TIEs are exchanged over IPv6 and   |
    1572          | IPv6  | IPv6  | IPv4, unspecified behavior if either of the |
    1573          |       |       | `ipv4_forwarding_capable` flags is false or |
    1574          |       |       | IPv4 and IPv6 advertise different flags as  |
    1575          |       |       | described previously.  IPv4 and IPv6 are    |
    1576          |       |       | forwarded.  TIEs are received on any of the |
    1577          |       |       | IPv4 and IPv6 LIE sending addresses.        |
    1578          +-------+-------+---------------------------------------------+

    [minor] Two of the columns have an "AF" header.  It is not clear (just
    from the header) how their meaning is different.  Please clarify.

    I'm assuming that the first column shows the AFs enabled on the
    interface, and the second one shows the AF used to exchange TIEs/LIEs.
    Or does the first column represent which AFs are intended to be
    forwarded (to cover the "absence of IPv4 addresses")?   In either
    case, it looks like the table may be incomplete.


    [minor] The Behavior of the second and third cases is the same, which
    adds to my question about what the AF columns mean.  Are the columns
    representing only one side?


    [nit] Case 4: "IPv4 and IPv6 are forwarded."

    The placement of this sentence after the behavior of
    ipv4_forwarding_capable is explained (again) gives the impression that
    IPv4 and IPv6 are always forwarded.


    [minor] Related question, so I don't forget later.  In Case 2
    (IPv6/IPv6), for example, if only one side sets
    ipv4_forwarding_capable, I'm assuming the TIEs won't include any IPv4
    information.  Is that true?  Where is that specified?  It seems
    obvious, but it would be nice if it was explicitly specified
    somewhere.



    ...
    1608       A node MUST form a ThreeWay adjacency (or in other words consider the
    1609       neighbor "valid" and hence reflecting it) if and only if the
    1610       following first order logic conditions are satisfied on a LIE packet
    1611       as specified by the `LIEPacket` schema element and received on a link

    [] -12 (the last version I had looked at) listed a couple of
    conditions related to the PoDs:

       A node tries to form a three-way adjacency if and only if

       1.  the node is in the same PoD or either the node or the neighbor
           advertises "undefined/any" PoD membership (PoD# = 0) AND

       ...

       3.  the neighbor is not member of some PoD while the node has a
           northbound adjacency already joining another PoD AND


    Are these conditions not needed any more?  I know they were taken off
    because I was confused with them -- but I guess that the text (in -12)
    about how they could be "optionally disregarded" made them not
    required.

    Just checking...



    ...
    1616       2.  the neighboring node uses a valid System ID (i.e. value different
    1617           from `IllegalSystemID`) in `sender` element in `PacketHeader`
    1618           *and*

    [nit] s/in `sender` element/in the `sender` element



    1620       3.  the neighboring node uses a different System ID than the node
    1621           itself

    [nit] For consistency, looks like you're missing an "*and*".



    1623       4.  the advertised MTUs in `LiePacket` element match on both sides
    1624           *and*

    [major] This clause talks about the "advertised MTUs", but advertising
    the MTU is optional.

    Suggestion>
       the MTU on on the link (either advertised in the `LiePacket`
       element or the 'default_mtu_size') matches on both sides *and*


    [EoR P2a-15]


Juniper Business Use Only