Re: [Rift] RIFT protocol implementation

Oliver Steudler <osteudler@juniper.net> Sun, 07 June 2020 07:18 UTC

Return-Path: <osteudler@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 B8A1C3A0B29 for <rift@ietfa.amsl.com>; Sun, 7 Jun 2020 00:18:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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, 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=gvzFiY7a; dkim=pass (1024-bit key) header.d=juniper.net header.b=N0VWY2S2
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 4O0FFwML3OCc for <rift@ietfa.amsl.com>; Sun, 7 Jun 2020 00:18:49 -0700 (PDT)
Received: from mx0a-00273201.pphosted.com (mx0a-00273201.pphosted.com [208.84.65.16]) (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 3892A3A0B28 for <rift@ietf.org>; Sun, 7 Jun 2020 00:18:48 -0700 (PDT)
Received: from pps.filterd (m0108159.ppops.net [127.0.0.1]) by mx0a-00273201.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 0577Dv4o024379; Sun, 7 Jun 2020 00:18:43 -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 : mime-version; s=PPS1017; bh=YEY+2jMOwzuxfupH4pXWr+bLOf38dQA4BHcaAf6E1+k=; b=gvzFiY7au8mUC5O69lFSzTpErFt7Pmry48IhKpUAEFMjWMKGGSCWpXpYiRZJq02uI8fv qdgqVnNVwMlo8ifYsEqlhLdG+VCQlQ8rzz0n521sc8shaedDbjMx9y8VTEDE9mbJXdDH iVtUKwOrY22PZsEdQQwhsoZNyrPnyClQAipgdsmS6evUxXg4L7YlFfZu8eJEv+I4GM08 ZuLpkToLrza9XMhTVUQtFmiBTrwuAceQqoX03HEQX2Zx9+bodSMEtguW2OOdwVezf1Rd ppS+KUu6YZ3gO5Qf1JdzO6dgzL09DRmDx2sqI3yJDCxb/CFRae6EuQvZQ4m9iVFlwTD8 Pg==
Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2101.outbound.protection.outlook.com [104.47.70.101]) by mx0a-00273201.pphosted.com with ESMTP id 31g93x8yuk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 07 Jun 2020 00:18:43 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UwQdnNnS5HantD93KoEhA7FPa22E1ltZDwq69MjOlozWFSF8Efl2jrSxX1GfKLX32PYPmWa0yMsV4krzT9YvDoX6eWD/HUCFErm9iBb9RC4UDZGbfbG3y0ZF4Z8RJMmOC15oGrIP7kyVnuIK88WwpZcK2dTfOwG1oMY2Ya+wjkvvrzkSiV3uLBETt3JBzgpTxChQn0MIs5/KESTng0j35rJVho97OsbDfXG4Np3Y+6kK+zBqhMSTjtAEr/zHlMC041Vq2zBiWyOvUsUEfsM0KNRNd5MnMU/6v47Y850grFV7KgxCF68YmewdGlzUBDCDxT8SGLjEwznd414UzQ6MaA==
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=YEY+2jMOwzuxfupH4pXWr+bLOf38dQA4BHcaAf6E1+k=; b=VoVJIJ5ObkbOm4RwEmwT2EGIrlTitWysbnBeR1DvlhSCrWSHXvMXdFFTtZzIdQtwHqznsjncf4DGh10vTGBBCkOTQ2zp2Rrnrk3LNZu2v+jjQg9Al1VDd9B/LtLui+8fm3Nl/GbKX1KjQZ9ch4WA4BCqOPrsvUnaDoQEyBUy4sJ/kbv9DPomHbWA4v4tSIg9fHcKnRQI7GbF1Pk7DRChaq6w2BFe36bYkphp1Q36j38Lesa2wzjPZsOm4UW4sAB6Zw+NamGmRAws4pEPNcCdigrMisShdc+sXYSqmkKVrAhkdO83DVJbuhV5Y3dDWXAImS7bn7fC6KH2AqOs6N9hdA==
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=YEY+2jMOwzuxfupH4pXWr+bLOf38dQA4BHcaAf6E1+k=; b=N0VWY2S2zB7TbmkeX7Nj9uCC3hmUIuP9uOItOiAc9xiMleOrkGGYTS3tgSmlmo1Dw1t8vtAnyI+RZRNlPG5S/IRlN3rFs1+3UVF6UYKqCy5L0Uuq8PpA89HVHvYRsw6vmMUFaVWfvdPVoC95/TYFIz0ya4knYDZAA3k0P6FepjY=
Received: from MN2PR05MB6464.namprd05.prod.outlook.com (20.178.246.202) by MN2PR05MB6463.namprd05.prod.outlook.com (20.178.245.74) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3088.13; Sun, 7 Jun 2020 07:18:37 +0000
Received: from MN2PR05MB6464.namprd05.prod.outlook.com ([fe80::f45b:c994:87df:989c]) by MN2PR05MB6464.namprd05.prod.outlook.com ([fe80::f45b:c994:87df:989c%4]) with mapi id 15.20.3088.013; Sun, 7 Jun 2020 07:18:37 +0000
From: Oliver Steudler <osteudler@juniper.net>
To: Leonardo Alberro Zimmermann <lalberro@fing.edu.uy>
CC: "rift@ietf.org" <rift@ietf.org>, Eduardo Grampin <grampin@fing.edu.uy>, Alberto Castro <acastro@fing.edu.uy>, Bruno Rijsman <brunorijsman@gmail.com>, Agustina Parnizari <agustina.parnizari@fing.edu.uy>, Maximiliano Lucero <mlucero@fing.edu.uy>, Tony Przygienda <tonysietf@gmail.com>
Thread-Topic: [Rift] RIFT protocol implementation
Thread-Index: AQHV/KjXN8nLHQyCvE6C5Xb9rbY0fahNOk6AgAB2uQCAANUqgP//kQUAgAzh6gCAACNegIBKSKoAgCc6w4CAAJ58rg==
Date: Sun, 07 Jun 2020 07:18:37 +0000
Message-ID: <B3432BD5-4AFA-4DFA-807A-E314518ACF28@juniper.net>
References: <AM6PR04MB432519F740317CFE30ED33C8C1420@AM6PR04MB4325.eurprd04.prod.outlook.com> <b642570c-caed-9de4-4a5e-dcd4943c3f0e@fing.edu.uy> <16a8f23f-db46-ebe0-4503-1cbeee076ffb@os.uniroma3.it> <CAObb+j7j8MQRzax3UDyN4KWNC6sB0jfOSop+Vf2YxZ+EjcVjtw@mail.gmail.com> <8a55226e-d428-f195-cfb5-c427229eb081@os.uniroma3.it> <87FBCCFA-A2E9-41EA-9C8F-BC87AAF1A9CF@gmail.com> <5b48347b-4156-bc4e-dcb2-14ec70159ee6@os.uniroma3.it> <E824E104-63BF-415E-BBBB-8A6EF7FAE332@gmail.com> <2528b464-c368-6e31-54c7-6ff200b6dafb@os.uniroma3.it> <A24BFF42-9AAE-4837-85EA-ACD55BDCEF41@gmail.com> <8977A74B-B0AE-430D-9817-2608952DDCF7@juniper.net> <CA+wi2hN2LziBFx68VEk5HLEVv3Jwj+0uWiZdf=QzJKfaXY1CTw@mail.gmail.com> <fe29024c-7170-97f5-fe3c-d381ef1d62d2@os.uniroma3.it> <C8542AB2-9C17-42FF-8DD8-1AB3C8C65159@juniper.net> <b82cfbc9-6531-cb3a-a7b2-01ed723f37b4@fing.edu.uy> <CA+wi2hOYT-xzh89=SkGexbqV_ZuEqnUD7nSc35veTR=Q+=KEnA@mail.gmail.com> <9b6c08ec-dbb1-234e-5b10-d16426923394@fing.edu.uy>, <a4122495-da9b-2f15-a2b9-3f478a9e2e62@fing.edu.uy>
In-Reply-To: <a4122495-da9b-2f15-a2b9-3f478a9e2e62@fing.edu.uy>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: juniper.net; dkim=none (message not signed) header.d=none;juniper.net; dmarc=none action=none header.from=juniper.net;
x-originating-ip: [178.197.229.57]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: 360638d8-8df6-4373-e76e-08d80ab2ff18
x-ms-traffictypediagnostic: MN2PR05MB6463:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <MN2PR05MB6463D38A7A12D8631B226398B3840@MN2PR05MB6463.namprd05.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:2449;
x-forefront-prvs: 04270EF89C
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: iLiFzcyCM3c78nlO3FgeqCTxFT5TLWVJgPjxxt9ChldWXLia985qAU0302t8UM/c7aYP0ZtPqmyHK8YU5k/iLaCEtaXUgSNOpBMV+RHQOjI0Kl/XFMVtQ9NfIfbbcp4jOeWSywGHhKl+2m7UJHssJv/hy/bc5g3PCghht0tVY0cV+lr6nl/Xz81EKgB78/bY4tmJ6dVs7ItUKu5Hyj4konK6+blWwfz01x97qXvl7NyCHn/VqDUtOh2ZqdD+p/tqSDzQ4cZOW7c8K76In//lFioMJLeEWzvraLp5J5Q6IvJzd3Y8II82qr8fnEAlYaan4NbRifDFjRBZIulJnaiAYS0BH9kW5pfeyjMqIklfYLegfXKjL/3thDHwlPVGrT37lbNWEyTgBufKZ7Qr9Bcfpw==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR05MB6464.namprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(39860400002)(376002)(346002)(366004)(136003)(396003)(8936002)(5660300002)(2906002)(186003)(26005)(36756003)(8676002)(71200400001)(316002)(54906003)(64756008)(66446008)(2616005)(66946007)(91956017)(76116006)(66556008)(66476007)(6512007)(4326008)(966005)(478600001)(6486002)(6506007)(53546011)(83380400001)(86362001)(33656002)(166002)(6916009); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata: 7ANB/EUo7WeSSrkKAEFGhm2QPo+tJpJepbdzIePuV9CCImJlEbhcjGlopIe8p2imyFrbmEezrrHyTTxbfHXIUep/LF8STxAUdBPtOuEbFv/MpFdRyNVsiCH1NE3/TNP1LrFTVRdgy9BmMbKlQUs1eoIDbOFjcKKpCBm0+1yI6NDIu1K5mklQJeyCIK2QPFKlvkkoIqazYRk77EOV0W3sWGQS+j4+NuL2No88tq6BG896wUwxGrcIBuBU4s1PuNQT/8sV2xr5h5n1ePyaggEAE/TX20wU4/RNINENaMKeHUURaT7lY8625PUhD8q6FApHt0YjhMOVdBECVPFZnUy7JpULGdvoxoHPUO/VYiZtjvhxy77Y2sYIiAdyZNlyeOFcml3tvvim0c2KM8TWidllPBV1jyb/6+8K9XCbJ54xahEpHoFwLOmIwhRSo/Imd+DJ/GT9YEmLJpFXF0MGyXzI83KW+NfYN/Gbybkfss9tlDctP84WzmNQmm/KVUYxuQtl
Content-Type: multipart/alternative; boundary="_000_B3432BD54AFA4DFA807AE314518ACF28junipernet_"
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-Network-Message-Id: 360638d8-8df6-4373-e76e-08d80ab2ff18
X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Jun 2020 07:18:37.1654 (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: Cr3Su1KX88L5g+co8OwNF7ZihMvY8q1GAOrJKCuQKVgFGCOm3Mju+I+SdDAR79RV76B/AgSOaQUBBUc61cTJuA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR05MB6463
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.216, 18.0.687 definitions=2020-06-07_02:2020-06-04, 2020-06-07 signatures=0
X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 mlxscore=0 priorityscore=1501 cotscore=-2147483648 phishscore=0 suspectscore=0 bulkscore=0 spamscore=0 adultscore=0 clxscore=1011 mlxlogscore=999 impostorscore=0 malwarescore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2006070057
Archived-At: <https://mailarchive.ietf.org/arch/msg/rift/J3Kl-9ykzt4t0wT8wRdcILjlIwc>
Subject: Re: [Rift] RIFT protocol implementation
X-BeenThere: rift@ietf.org
X-Mailman-Version: 2.1.29
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: Sun, 07 Jun 2020 07:18:52 -0000

Hi Leonardo,

Awesome, thanks for your great work on this!

Will try it out ASAP,

Regards
Oliver


On 6 Jun 2020, at 23:51, Leonardo Alberro Zimmermann <lalberro@fing.edu.uy> wrote:



[External Email. Be cautious of content]


Hello all,

We added a full decoding for the TIRE/TIDE and LIE messages. Thus, the RIFT C dissector supports full decode of all the RIFT packets.

Regards,
Leonardo

El 12/5/20 a las 19:46, Leonardo Alberro Zimmermann escribió:

Hello all,

regarding the development of a wireshark dissector for RIFT, we are happy to introduce you our work. It is available at https://gitlab.com/fing-mina/datacenters/rift-dissector<https://urldefense.com/v3/__https://gitlab.com/fing-mina/datacenters/rift-dissector__;!!NEt6yMaO-gk!RnWk15jP7chZx79DBnT_byqMJOuR6ETgaPVRflq2hUZAAPpTv9sE41sL3lE0qwvCsg$>

RIFT C dissector is a complete Wireshark dissector for decoding RIFT protocol. The code identifies all the RIFT packets and builds a complete dissection for the TIE ones. This dissector has been tested with the current implementations of RIFT.

Regards,
Leonardo

El 26/3/20 a las 13:23, Tony Przygienda escribió:
Leonardo, that is a great project. Observe that depending on language backend/thrift compiler different streams may represent the same encoding so it's good to test it against more than one implementation. We should get streams that has all possible LIEs and TIEs in it.

If you run juniper standalone public package https://www.juniper.net/us/en/dm/free-rift-trial/ you can easily build a 2x2 yaml topology and just snoop on a UDP port. I suggest snooping a v6/v4 links from a spine to a leaf. that will give you all the LIEs and node TIEs and default prefixes. If you break a link via CLI you will get disaggregation as well. If you struggle with that, ping me ...

Having said that you can do all that with open source as well (but observe we didn't pull open source to -11 draft yet which had some schema changes albeit minor). you can pull the schema yourself with Bruno's help or I'll get to it one of these days ;-) ...

Architecturally, since RIFT will evolve and possibly move to newer major schemas, I would suggest you provision for the possibility to put into wireshark multiple schema files, basically you'd need to compile multiple directories in differnt namespaces and use the correct one depending on the major you found on packet envelope (you can always use the newest minor you support on the major, they are always compatible).

--- tony



On Thu, Mar 26, 2020 at 7:17 AM Leonardo Alberro Zimmermann <lalberro@fing.edu.uy<mailto:lalberro@fing.edu.uy>> wrote:

Hi everyone,

as a part of this project we are developing a wireshark dissector for RIFT. The dissection for the security envelope is ready and tested. Now we are working on the Serialized RIFT Model Object dissection and for preparing the testing we are looking for a "known" trace, i.e we need a few packets and the exact values of these fields in the Thrift model. So if anyone can help us we'll be grateful.

Regards,
Leonardo.

El 18/3/20 a las 13:34, Antoni Przygienda escribió:
Forwarding the discussion to the rift ietf list for further exposure & since I generally think it will be possibly more productive in a wider forum. Roma Tre University is working on Bruno’s open source and there’s a bunch of interesting tools they’re developing as well as you can read below.

--- tony

From: Mariano Scazzariello <mscazzariello@os.uniroma3.it><mailto:mscazzariello@os.uniroma3.it>
Date: Wednesday, March 18, 2020 at 9:10 AM
To: Bruno Rijsman <brunorijsman@gmail.com><mailto:brunorijsman@gmail..com>
Cc: Antoni Przygienda <prz@juniper.net><mailto:prz@juniper.net>, Leonardo Alberro Zimmermann <lalberro@fing.edu.uy><mailto:lalberro@fing.edu.uy>, "tommasocaiazzi@gmail.com"<mailto:tommasocaiazzi@gmail.com> <tommasocaiazzi@gmail.com><mailto:tommasocaiazzi@gmail.com>, "lorenzoariemma@gmail.com"<mailto:lorenzoariemma@gmail.com> <lorenzoariemma@gmail.com><mailto:lorenzoariemma@gmail.com>, Giuseppe Di Battista <giuseppe.dibattista@uniroma3.it><mailto:giuseppe.dibattista@uniroma3.it>
Subject: Re: RIFT protocol implementation


Hi everyone,
thanks for the extremely detailed suggestions! I have a lot of stuff which I can use to work on the implementation. Also thanks Tony for giving me further useful tips.

Also, I'm happy that we agree on almost every implementation detail and I agree with your suggested variations (like the flag for the spf_run_direction method).

About point C, I did not write anything since it seems quite easy to extend the Thrift model. If I have any issues, I'll surely ask you for some help. I also wrote a point D (which is how to handle the negative disaggregation in the RIB/FIB when received), but I read the Pascal slides (I add the link<https://urldefense.com/v3/__https:/bitbucket.org/riftrfc/rift_draft/src/master/negative*20disaggregation.pptx__;JQ!!NEt6yMaO-gk!QBFQP3Ec6u0elEKgEFaAEndcjyQntJXvMg0h2TfAH6kn4JLUaMb3FOYpDQOltw$> here, so everyone can access them easily) and the steps used in that presentation are the same that I thought.

I still have some doubts about the special SPF run:
2) We will also need a new member field orig_neg_disagg_prefixes (once again of type set, I think) that contains the negatively disaggregated prefixes that are autonomously being originated based on the detection of fallen leafs based on the difference between the normal and special SPF run.
You are proposing to postpone the RIB/FIB update after the special SPF run (which can detect additional fallen leaf nodes). This is right,  but should this only occur on ToF nodes? If we consider a node X, which is not a ToF, that receives a negative disaggregation TIE, it should only add the prefix in the prop_neg_disagg_prefixes set and check if it received this prefix from all its parent nodes and propagate it if required. Then it should proceed to update its RIB/FIB, without running the special SPF. Am I right?

About the flooding oscillations, Tony writes "Your best protection is scaled, randomized tests". Here at Roma Tre University we developed a tool called Kathará<https://urldefense.com/v3/__https:/www.kathara.org/__;!!NEt6yMaO-gk!QBFQP3Ec6u0elEKgEFaAEndcjyQntJXvMg0h2TfAH6kn4JLUaMb3FOZujrrECA$> which is able to emulate network scenarios using Docker containers. Recently, we also developed a Fat Tree Generator, that automatically generates a fat tree topology starting from the fundamental parameters of a Fat Tree (K_LEAF, K_TOP and R) that can be run in Kathará. It also auto-configures the routing protocol on each node (of course, we also included the RIFT-Python implementation). So we can generate Fat Tree topologies of any size and run tests on it to verify functional and behavioral aspects (and also gather routing information such as PDU size and count). We are also developing a Fat Tree Test Framework (in collaboration with Leonardo and the team at UY university) which implements typical data center network scenarios (such as link failure, node failure, fallen leaf, partitioned fabric and so on) to run integration tests on it. For example, we can check if the routing table of a node is equal to the expected one after a failure (e.g. loss of a multipath or a prefix). With this tool we can surely run randomized tests (at any scale, since Kathará supports Kubernetes) to ensure that no flooding oscillations occur.

I agree to move the discussion on the RIFT WG mailing list. Maybe someone of you should introduce us and explain what we're doing.

Thanks everyone for your time,
Mariano.



_______________________________________________
RIFT mailing list
RIFT@ietf.org<mailto:RIFT@ietf.org>
https://www.ietf.org/mailman/listinfo/rift<https://urldefense.com/v3/__https://www.ietf.org/mailman/listinfo/rift__;!!NEt6yMaO-gk!RnWk15jP7chZx79DBnT_byqMJOuR6ETgaPVRflq2hUZAAPpTv9sE41sL3lEJIiu6Og$>




_______________________________________________
RIFT mailing list
RIFT@ietf.org<mailto:RIFT@ietf.org>
https://www.ietf.org/mailman/listinfo/rift<https://urldefense.com/v3/__https://www.ietf.org/mailman/listinfo/rift__;!!NEt6yMaO-gk!RnWk15jP7chZx79DBnT_byqMJOuR6ETgaPVRflq2hUZAAPpTv9sE41sL3lEJIiu6Og$>


_______________________________________________
RIFT mailing list
RIFT@ietf.org
https://urldefense.com/v3/__https://www.ietf.org/mailman/listinfo/rift__;!!NEt6yMaO-gk!RnWk15jP7chZx79DBnT_byqMJOuR6ETgaPVRflq2hUZAAPpTv9sE41sL3lEJIiu6Og$