
From nobody Sun Dec 15 12:22:15 2019
Return-Path: <cabo@tzi.org>
X-Original-To: loops@ietfa.amsl.com
Delivered-To: loops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3B187120058 for <loops@ietfa.amsl.com>; Sun, 15 Dec 2019 12:22:09 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level: 
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
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 indhSqk_Aylj for <loops@ietfa.amsl.com>; Sun, 15 Dec 2019 12:22:06 -0800 (PST)
Received: from gabriel-vm-2.zfn.uni-bremen.de (gabriel-vm-2.zfn.uni-bremen.de [134.102.50.17]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7DFA112008D for <loops@ietf.org>; Sun, 15 Dec 2019 12:22:06 -0800 (PST)
Received: from [192.168.217.116] (p548DC893.dip0.t-ipconnect.de [84.141.200.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by gabriel-vm-2.zfn.uni-bremen.de (Postfix) with ESMTPSA id 47bbRJ5fS3zybt; Sun, 15 Dec 2019 21:22:04 +0100 (CET)
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
From: Carsten Bormann <cabo@tzi.org>
In-Reply-To: <26708398-5DEB-478E-8CB8-D406A8B874FF@tzi.org>
Date: Sun, 15 Dec 2019 21:22:03 +0100
Cc: nwcrg@irtf.org
X-Mao-Original-Outgoing-Id: 598134102.409664-f5d93fffa7127e6a721be85abb71df4c
Content-Transfer-Encoding: quoted-printable
Message-Id: <7DC0B005-8BA2-4D80-8CDF-4E2AE7EA96F3@tzi.org>
References: <AAF1E19E-37C1-4A9D-B92A-621054B06AF6@tzi.org> <c172b80c-04ee-9786-153f-9e1dda57fdd8@steinwurf.com> <3D026CEF-AF7D-4CDE-8A5B-8CE5DCF749D1@tzi.org> <163A8040-9B13-43AA-8917-F75D984B0EBF@tzi.org> <26708398-5DEB-478E-8CB8-D406A8B874FF@tzi.org>
To: loops@ietf.org
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/loops/nSABa7Xqg_s6OHVGgLBgav6ouZ0>
Subject: Re: [LOOPS] [nwcrg]  IETF106: LOOPS side meeting on Tuesday 08:30, Orchard Room
X-BeenThere: loops@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Local Optimizations on Path Segments <loops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/loops>, <mailto:loops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/loops/>
List-Post: <mailto:loops@ietf.org>
List-Help: <mailto:loops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/loops>, <mailto:loops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 15 Dec 2019 20:22:09 -0000

Thanks again everyone for the participation at the LOOPS side meeting =
and in our slot at the NWCRG meeting.

I have compiled more detailed notes, with links to/copies of the meeting =
materials, at

https://github.com/loops-wg/ietf106

Please do have a look at the notes, specifically [1] and [2], and send =
corrections and additions.  Also, there were a few items in the NWCRG =
discussion where there may be results that we already can point to; as =
Marie-Jose said, please send them to both mailing lists.

Gr=C3=BC=C3=9Fe, Carsten

[1]: =
https://github.com/loops-wg/ietf106/blob/master/ietf106-loops-side-meeting=
.md
[2]: =
https://github.com/loops-wg/ietf106/blob/master/ietf106-nwcrg-loops.md


From nobody Mon Dec 16 20:14:59 2019
Return-Path: <liyizhou@huawei.com>
X-Original-To: loops@ietfa.amsl.com
Delivered-To: loops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DC3061200B7 for <loops@ietfa.amsl.com>; Mon, 16 Dec 2019 20:14:57 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level: 
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 cYQqK6bI5oDa for <loops@ietfa.amsl.com>; Mon, 16 Dec 2019 20:14:55 -0800 (PST)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (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 7294D1200A1 for <loops@ietf.org>; Mon, 16 Dec 2019 20:14:55 -0800 (PST)
Received: from LHREML710-CAH.china.huawei.com (unknown [172.18.7.107]) by Forcepoint Email with ESMTP id 24FC03343B92A758EA79 for <loops@ietf.org>; Tue, 17 Dec 2019 04:14:51 +0000 (GMT)
Received: from nkgeml703-chm.china.huawei.com (10.98.57.159) by LHREML710-CAH.china.huawei.com (10.201.108.33) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 17 Dec 2019 04:14:50 +0000
Received: from nkgeml702-chm.china.huawei.com (10.98.57.155) by nkgeml703-chm.china.huawei.com (10.98.57.159) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 17 Dec 2019 12:14:48 +0800
Received: from nkgeml702-chm.china.huawei.com ([10.98.57.155]) by nkgeml702-chm.china.huawei.com ([10.98.57.155]) with mapi id 15.01.1713.004; Tue, 17 Dec 2019 12:14:48 +0800
From: Liyizhou <liyizhou@huawei.com>
To: Carsten Bormann <cabo@tzi.org>, "loops@ietf.org" <loops@ietf.org>
CC: "nwcrg@irtf.org" <nwcrg@irtf.org>
Thread-Topic: [nwcrg] [LOOPS] IETF106: LOOPS side meeting on Tuesday 08:30, Orchard Room
Thread-Index: AQHVnQUHo6Htz/9XhECRT2892AN0AaeQaxwAgAADpQCAALIzAIAARfEAgCnjlICAAnmgwA==
Date: Tue, 17 Dec 2019 04:14:47 +0000
Message-ID: <4a45b97df9e54e0abb4f5c9a0e7ce4ff@huawei.com>
References: <AAF1E19E-37C1-4A9D-B92A-621054B06AF6@tzi.org> <c172b80c-04ee-9786-153f-9e1dda57fdd8@steinwurf.com> <3D026CEF-AF7D-4CDE-8A5B-8CE5DCF749D1@tzi.org> <163A8040-9B13-43AA-8917-F75D984B0EBF@tzi.org> <26708398-5DEB-478E-8CB8-D406A8B874FF@tzi.org> <7DC0B005-8BA2-4D80-8CDF-4E2AE7EA96F3@tzi.org>
In-Reply-To: <7DC0B005-8BA2-4D80-8CDF-4E2AE7EA96F3@tzi.org>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.134.186.90]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/loops/04oSbzgu57XWlDkozqkNn6L6ifg>
Subject: Re: [LOOPS] [nwcrg]  IETF106: LOOPS side meeting on Tuesday 08:30, Orchard Room
X-BeenThere: loops@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Local Optimizations on Path Segments <loops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/loops>, <mailto:loops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/loops/>
List-Post: <mailto:loops@ietf.org>
List-Help: <mailto:loops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/loops>, <mailto:loops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 17 Dec 2019 04:14:58 -0000

SGkgQ2Fyc3RlbiBhbmQgYWxsLA0KDQpUaGFua3MgZm9yIHB1dHRpbmcgYWxsIHRoZXNlIHRvZ2V0
aGVyLiANCg0KSSB3b3VsZCBsaWtlIHRvIGhhdmUgYSBmb2xsb3ctdXAgZGlzY3Vzc2lvbiByZWdh
cmRpbmcgc2luZ2xlIHJldHJhbnNtaXNzaW9uIHZzLiBtdWx0aXBsZSByZXRyYW5zbWlzc2lvbi4N
Cg0KVGhlcmUgaXMgYSBwb3RlbnRpYWwgY2hvaWNlIHRvIGRlc2lnbiBhIHNpbmdsZSByZXRyYW5z
bWlzc2lvbiBtb2RlICpvbmx5KiBtZWNoYW5pc20uIFRoZSByZWFzb24gd2UgbWlnaHQgd2FudCB0
byBkbyBpdCBpcyB0aGUgZGVzaWduIGlzIGVhc2llciBjb21wYXJpbmcgd2l0aCBhIGdlbmVyaWMg
cmV0cmFuc21pc3Npb24gbWVjaGFuaXNtIGFsbG93aW5nIGJvdGggc2luZ2xlIG9yIG11bHRpcGxl
IHJldHJhbnNtaXNzaW9uIGJ5IHBhcmFtZXRlciBjb25maWd1cmF0aW9uLg0KDQpGb3IgZXhhbXBs
ZSwgIExPT1BTIGVncmVzcyBjYW4gbWFyayBhIGxvc3QgcGFja2V0IGRpcmVjdGx5IGFzICJyZWNl
aXZlZCIgYWZ0ZXIgaXQgZmVlZGJhY2tzIGEgZmV3IEFDS3MgdG8gaW5kaWNhdGUgYSBsb3N0IHBh
Y2tldC4gSW5ncmVzcyByZW1vdmVzIHRoZSBwYWNrZXQgZnJvbSBpdHMgY2FjaGUgYWZ0ZXIgYSBz
aW5nbGUgcmV0cmFuc21pc3Npb24uIE9uY2UgdGhlIHJldHJhbnNtaXR0ZWQgcGFja2V0IHJlYWNo
ZXMgdGhlIGVncmVzcywgZWdyZXNzIHNpbXBseSBmb3J3YXJkcyBpdC4gU3VjaCBhIG1lY2hhbmlz
bSBvbmx5IHdvcmtzIGZvciBzaW5nbGUgcmV0cmFuc21pc3Npb24uICANCkluIHRoaXMgd2F5LCBl
Z3Jlc3MgaGFzIGEgc2ltcGxlIGxvZ2ljIHRvIGRlY2lkZSB3aGVuIHRvIHN0b3Agc2VuZGluZyB0
aGUgaW5kaWNhdGlvbiBhYm91dCBhICJsb3N0IiBwYWNrZXQuICBBbmQgdGhlIGluZ3Jlc3MgZG9l
cyBub3QgbmVlZCBhIGxvZ2ljIHRvIGNvbnRyb2wgd2hldGhlciBhbmQgd2hlbiAybmQgYW5kIGxh
dGVyIHJldHJhbnNtaXNzaW9ucyBzaG91bGQgYmUgcGVyZm9ybWVkLg0KDQpJbiBtdWx0aXBsZSBy
ZXRyYW5zbWlzc2lvbiwgaXQgaGFzIHRvIGJlIG1vcmUgY2FyZWZ1bGx5IGRlc2lnbmVkIHRvIHN5
bmMgdXAgd2hlbiB0aGUgZWdyZXNzIGdpdmVzIHVwIGFza2luZyBmb3IgcmV0cmFuc21pc3Npb24g
YW5kICB3aGVuIHRoZSBpbmdyZXNzIGNhbiByZW1vdmUgdGhlIHBhY2tldCBmcm9tIGl0cyBjYWNo
ZSBzaW5jZSBubyBtb3JlIHJldHJhbnNtaXNzaW9uIGlzIHJlcXVpcmVkLiAgQXMgTE9PUFMgZG9l
cyBub3QgcHJvdmlkZSAxMDAlIHJlbGlhYmlsaXR5LCBub3JtYWxseSBlZ3Jlc3Mgc2lkZSBzaG91
bGQgYmUgdGhlIG9uZSBkZXRlcm1pbmVzIHdoZW4gdG8gZ2l2ZSB1cCBhc2tpbmcgZm9yIHJldHJh
bnNtaXNzaW9uLiBUaGVuIGVncmVzcyBuZWVkcyB0byBrbm93IHRoZSBsb2NhbCBmb3J3YXJkIFJU
VCBpZiBtdWx0aXBsZSByZXRyYW5zbWlzc2lvbiBpcyBleHBlY3RlZC4NCg0KU28gc2luZ2xlIHJl
dHJhbnNtaXNzaW9uICpvbmx5KiBjYW4gYmUgd29ydGggY29uc2lkZXJpbmcuIEl0IGlzIGEgZGVz
aWduIGNob2ljZSBtb3JlIHRoYW4gYW4gaW1wbGVtZW50YXRpb24gY2hvaWNlIHRvIG1lLiANCklm
IHRoZXJlIGlzIGEgc2ltcGxlIGFuZCBlZmZpY2llbnQgd2F5IHRvIHVuaWZ5IGJvdGgsIEkgd291
bGQgYmUgbW9yZSB0aGFuIGhhcHB5IHRvIGxlYXJuLiAgDQoNClRoYW5rcywNCllpemhvdQ0KDQot
LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogbndjcmcgW21haWx0bzpud2NyZy1ib3Vu
Y2VzQGlydGYub3JnXSBPbiBCZWhhbGYgT2YgQ2Fyc3RlbiBCb3JtYW5uDQpTZW50OiBNb25kYXks
IERlY2VtYmVyIDE2LCAyMDE5IDQ6MjIgQU0NClRvOiBsb29wc0BpZXRmLm9yZw0KQ2M6IG53Y3Jn
QGlydGYub3JnDQpTdWJqZWN0OiBSZTogW253Y3JnXSBbTE9PUFNdIElFVEYxMDY6IExPT1BTIHNp
ZGUgbWVldGluZyBvbiBUdWVzZGF5IDA4OjMwLCBPcmNoYXJkIFJvb20NCg0KVGhhbmtzIGFnYWlu
IGV2ZXJ5b25lIGZvciB0aGUgcGFydGljaXBhdGlvbiBhdCB0aGUgTE9PUFMgc2lkZSBtZWV0aW5n
IGFuZCBpbiBvdXIgc2xvdCBhdCB0aGUgTldDUkcgbWVldGluZy4NCg0KSSBoYXZlIGNvbXBpbGVk
IG1vcmUgZGV0YWlsZWQgbm90ZXMsIHdpdGggbGlua3MgdG8vY29waWVzIG9mIHRoZSBtZWV0aW5n
IG1hdGVyaWFscywgYXQNCg0KaHR0cHM6Ly9naXRodWIuY29tL2xvb3BzLXdnL2lldGYxMDYNCg0K
UGxlYXNlIGRvIGhhdmUgYSBsb29rIGF0IHRoZSBub3Rlcywgc3BlY2lmaWNhbGx5IFsxXSBhbmQg
WzJdLCBhbmQgc2VuZCBjb3JyZWN0aW9ucyBhbmQgYWRkaXRpb25zLiAgQWxzbywgdGhlcmUgd2Vy
ZSBhIGZldyBpdGVtcyBpbiB0aGUgTldDUkcgZGlzY3Vzc2lvbiB3aGVyZSB0aGVyZSBtYXkgYmUg
cmVzdWx0cyB0aGF0IHdlIGFscmVhZHkgY2FuIHBvaW50IHRvOyBhcyBNYXJpZS1Kb3NlIHNhaWQs
IHBsZWFzZSBzZW5kIHRoZW0gdG8gYm90aCBtYWlsaW5nIGxpc3RzLg0KDQpHcsO8w59lLCBDYXJz
dGVuDQoNClsxXTogaHR0cHM6Ly9naXRodWIuY29tL2xvb3BzLXdnL2lldGYxMDYvYmxvYi9tYXN0
ZXIvaWV0ZjEwNi1sb29wcy1zaWRlLW1lZXRpbmcubWQNClsyXTogaHR0cHM6Ly9naXRodWIuY29t
L2xvb3BzLXdnL2lldGYxMDYvYmxvYi9tYXN0ZXIvaWV0ZjEwNi1ud2NyZy1sb29wcy5tZA0KDQpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KbndjcmcgbWFp
bGluZyBsaXN0DQpud2NyZ0BpcnRmLm9yZw0KaHR0cHM6Ly93d3cuaXJ0Zi5vcmcvbWFpbG1hbi9s
aXN0aW5mby9ud2NyZw0K


From nobody Mon Dec 16 23:23:31 2019
Return-Path: <michawe@ifi.uio.no>
X-Original-To: loops@ietfa.amsl.com
Delivered-To: loops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D660E12096F; Mon, 16 Dec 2019 23:23:29 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Level: 
X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 wwIMlrLz7KA2; Mon, 16 Dec 2019 23:23:27 -0800 (PST)
Received: from mail-out02.uio.no (mail-out02.uio.no [IPv6:2001:700:100:8210::71]) (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 2EE971200DE; Mon, 16 Dec 2019 23:23:26 -0800 (PST)
Received: from mail-mx11.uio.no ([129.240.10.83]) by mail-out02.uio.no with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92.3) (envelope-from <michawe@ifi.uio.no>) id 1ih7CM-000A5q-D3; Tue, 17 Dec 2019 08:23:14 +0100
Received: from ti0182q160-3382.bb.online.no ([62.249.177.94] helo=[10.0.0.16]) by mail-mx11.uio.no with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) user michawe (Exim 4.92.3) (envelope-from <michawe@ifi.uio.no>) id 1ih7CL-0003TA-GP; Tue, 17 Dec 2019 08:23:14 +0100
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
From: Michael Welzl <michawe@ifi.uio.no>
In-Reply-To: <4a45b97df9e54e0abb4f5c9a0e7ce4ff@huawei.com>
Date: Tue, 17 Dec 2019 08:23:09 +0100
Cc: Carsten Bormann <cabo@tzi.org>, "loops@ietf.org" <loops@ietf.org>, "nwcrg@irtf.org" <nwcrg@irtf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <481CA069-ECC4-40F8-B0BE-B29CFA6DDF85@ifi.uio.no>
References: <AAF1E19E-37C1-4A9D-B92A-621054B06AF6@tzi.org> <c172b80c-04ee-9786-153f-9e1dda57fdd8@steinwurf.com> <3D026CEF-AF7D-4CDE-8A5B-8CE5DCF749D1@tzi.org> <163A8040-9B13-43AA-8917-F75D984B0EBF@tzi.org> <26708398-5DEB-478E-8CB8-D406A8B874FF@tzi.org> <7DC0B005-8BA2-4D80-8CDF-4E2AE7EA96F3@tzi.org> <4a45b97df9e54e0abb4f5c9a0e7ce4ff@huawei.com>
To: Liyizhou <liyizhou@huawei.com>
X-Mailer: Apple Mail (2.3445.104.11)
X-UiO-SPF-Received: Received-SPF: neutral (mail-mx11.uio.no: 62.249.177.94 is neither permitted nor denied by domain of ifi.uio.no) client-ip=62.249.177.94;  envelope-from=michawe@ifi.uio.no; helo=[10.0.0.16]; 
X-UiO-Spam-info: not spam, SpamAssassin (score=-5.0, required=5.0, autolearn=disabled, UIO_MAIL_IS_INTERNAL=-5, uiobl=NO, uiouri=NO)
X-UiO-Scanned: EB6601A7387ABF2248A76417F7EA99869F597A35
Archived-At: <https://mailarchive.ietf.org/arch/msg/loops/Qe3nD3FRqlsLGdPed4gSvlHLJl4>
Subject: Re: [LOOPS] [nwcrg]  IETF106: LOOPS side meeting on Tuesday 08:30, Orchard Room
X-BeenThere: loops@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Local Optimizations on Path Segments <loops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/loops>, <mailto:loops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/loops/>
List-Post: <mailto:loops@ietf.org>
List-Help: <mailto:loops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/loops>, <mailto:loops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 17 Dec 2019 07:23:30 -0000

Hi,

I would say it depends on how much loss we=E2=80=99re optimizing for =
(and the LOOPS vs. e2e RTT difference; lots of trade-offs here).

One point in favor of the simpler one-retransmission approach: just like =
a link layer doing ARQ, for its retransmissions, LOOPS will inflate the =
RTT measurements seen by transport protocols. How bad that really is =
depends on the transport protocol (e.g., TCP=E2=80=99s RTO is super =
conservative anyway), on the LOOPS vs. e2e RTT, on how often LOOPS =
retries=E2=80=A6   I=E2=80=99d say there=E2=80=99s reason to hope that =
retransmitting once is relatively =E2=80=9Csafe=E2=80=9D in that sense.

Cheers,
Michael


> On Dec 17, 2019, at 5:14 AM, Liyizhou <liyizhou@huawei.com> wrote:
>=20
> Hi Carsten and all,
>=20
> Thanks for putting all these together.=20
>=20
> I would like to have a follow-up discussion regarding single =
retransmission vs. multiple retransmission.
>=20
> There is a potential choice to design a single retransmission mode =
*only* mechanism. The reason we might want to do it is the design is =
easier comparing with a generic retransmission mechanism allowing both =
single or multiple retransmission by parameter configuration.
>=20
> For example,  LOOPS egress can mark a lost packet directly as =
"received" after it feedbacks a few ACKs to indicate a lost packet. =
Ingress removes the packet from its cache after a single retransmission. =
Once the retransmitted packet reaches the egress, egress simply forwards =
it. Such a mechanism only works for single retransmission. =20
> In this way, egress has a simple logic to decide when to stop sending =
the indication about a "lost" packet.  And the ingress does not need a =
logic to control whether and when 2nd and later retransmissions should =
be performed.
>=20
> In multiple retransmission, it has to be more carefully designed to =
sync up when the egress gives up asking for retransmission and  when the =
ingress can remove the packet from its cache since no more =
retransmission is required.  As LOOPS does not provide 100% reliability, =
normally egress side should be the one determines when to give up asking =
for retransmission. Then egress needs to know the local forward RTT if =
multiple retransmission is expected.
>=20
> So single retransmission *only* can be worth considering. It is a =
design choice more than an implementation choice to me.=20
> If there is a simple and efficient way to unify both, I would be more =
than happy to learn. =20
>=20
> Thanks,
> Yizhou
>=20
> -----Original Message-----
> From: nwcrg [mailto:nwcrg-bounces@irtf.org] On Behalf Of Carsten =
Bormann
> Sent: Monday, December 16, 2019 4:22 AM
> To: loops@ietf.org
> Cc: nwcrg@irtf.org
> Subject: Re: [nwcrg] [LOOPS] IETF106: LOOPS side meeting on Tuesday =
08:30, Orchard Room
>=20
> Thanks again everyone for the participation at the LOOPS side meeting =
and in our slot at the NWCRG meeting.
>=20
> I have compiled more detailed notes, with links to/copies of the =
meeting materials, at
>=20
> https://github.com/loops-wg/ietf106
>=20
> Please do have a look at the notes, specifically [1] and [2], and send =
corrections and additions.  Also, there were a few items in the NWCRG =
discussion where there may be results that we already can point to; as =
Marie-Jose said, please send them to both mailing lists.
>=20
> Gr=C3=BC=C3=9Fe, Carsten
>=20
> [1]: =
https://github.com/loops-wg/ietf106/blob/master/ietf106-loops-side-meeting=
.md
> [2]: =
https://github.com/loops-wg/ietf106/blob/master/ietf106-nwcrg-loops.md
>=20
> _______________________________________________
> nwcrg mailing list
> nwcrg@irtf.org
> https://www.irtf.org/mailman/listinfo/nwcrg
> --=20
> LOOPS mailing list
> LOOPS@ietf.org
> https://www.ietf.org/mailman/listinfo/loops


From nobody Tue Dec 17 03:58:22 2019
Return-Path: <csp@csperkins.org>
X-Original-To: loops@ietfa.amsl.com
Delivered-To: loops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E6DC91201E3; Tue, 17 Dec 2019 03:58:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level: 
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 KYnQMGvrEjg6; Tue, 17 Dec 2019 03:58:18 -0800 (PST)
Received: from balrog.mythic-beasts.com (balrog.mythic-beasts.com [IPv6:2a00:1098:0:82:1000:0:2:1]) (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 624F41201CE; Tue, 17 Dec 2019 03:58:18 -0800 (PST)
Received: from [130.209.254.4] (port=59471 helo=vpn4.dcs.gla.ac.uk) by balrog.mythic-beasts.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92.3) (envelope-from <csp@csperkins.org>) id 1ihBUM-0000QQ-HV; Tue, 17 Dec 2019 11:58:10 +0000
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
From: Colin Perkins <csp@csperkins.org>
In-Reply-To: <4a45b97df9e54e0abb4f5c9a0e7ce4ff@huawei.com>
Date: Tue, 17 Dec 2019 11:32:53 +0000
Cc: Carsten Bormann <cabo@tzi.org>, "loops@ietf.org" <loops@ietf.org>, "nwcrg@irtf.org" <nwcrg@irtf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <8451B22E-8D91-406E-852B-F21B79DEBEB6@csperkins.org>
References: <AAF1E19E-37C1-4A9D-B92A-621054B06AF6@tzi.org> <c172b80c-04ee-9786-153f-9e1dda57fdd8@steinwurf.com> <3D026CEF-AF7D-4CDE-8A5B-8CE5DCF749D1@tzi.org> <163A8040-9B13-43AA-8917-F75D984B0EBF@tzi.org> <26708398-5DEB-478E-8CB8-D406A8B874FF@tzi.org> <7DC0B005-8BA2-4D80-8CDF-4E2AE7EA96F3@tzi.org> <4a45b97df9e54e0abb4f5c9a0e7ce4ff@huawei.com>
To: Liyizhou <liyizhou@huawei.com>
X-Mailer: Apple Mail (2.3445.104.11)
X-BlackCat-Spam-Score: 4
Archived-At: <https://mailarchive.ietf.org/arch/msg/loops/grAnusLBAwG43dNyZUruE4DLcXU>
Subject: Re: [LOOPS] [nwcrg]  IETF106: LOOPS side meeting on Tuesday 08:30, Orchard Room
X-BeenThere: loops@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Local Optimizations on Path Segments <loops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/loops>, <mailto:loops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/loops/>
List-Post: <mailto:loops@ietf.org>
List-Help: <mailto:loops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/loops>, <mailto:loops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 17 Dec 2019 11:58:21 -0000

Hi,

Is not the ingress logic the same for single or multiple =
retransmissions? The ingress node will maintain a queue of packets that =
have been sent and can be retransmitted. Packets expire from the queue =
if an ACK for their sequence number is received, or after a certain =
amount of time. Packets are retransmitted if a retransmission request =
arrives before they expire. You need the timeout to expire packets in =
case ACKs are lost, so whether the ingress supports single or multiple =
retransmissions is just a case of configuring the timeout.

If you somehow communicate that timeout to the egress node, then it can =
make a local decision on whether to make one or more retransmission =
requests for a lost packet. This would give the egress flexibility to =
pick an appropriate retransmission request strategy without needing to =
standardise what that strategy is. LOOPS would define the mechanism and =
give guidance on choice of the ingress expiration timeout.=20

Colin



> On 17 Dec 2019, at 04:14, Liyizhou <liyizhou@huawei.com> wrote:
>=20
> Hi Carsten and all,
>=20
> Thanks for putting all these together.=20
>=20
> I would like to have a follow-up discussion regarding single =
retransmission vs. multiple retransmission.
>=20
> There is a potential choice to design a single retransmission mode =
*only* mechanism. The reason we might want to do it is the design is =
easier comparing with a generic retransmission mechanism allowing both =
single or multiple retransmission by parameter configuration.
>=20
> For example,  LOOPS egress can mark a lost packet directly as =
"received" after it feedbacks a few ACKs to indicate a lost packet. =
Ingress removes the packet from its cache after a single retransmission. =
Once the retransmitted packet reaches the egress, egress simply forwards =
it. Such a mechanism only works for single retransmission. =20
> In this way, egress has a simple logic to decide when to stop sending =
the indication about a "lost" packet.  And the ingress does not need a =
logic to control whether and when 2nd and later retransmissions should =
be performed.
>=20
> In multiple retransmission, it has to be more carefully designed to =
sync up when the egress gives up asking for retransmission and  when the =
ingress can remove the packet from its cache since no more =
retransmission is required.  As LOOPS does not provide 100% reliability, =
normally egress side should be the one determines when to give up asking =
for retransmission. Then egress needs to know the local forward RTT if =
multiple retransmission is expected.
>=20
> So single retransmission *only* can be worth considering. It is a =
design choice more than an implementation choice to me.=20
> If there is a simple and efficient way to unify both, I would be more =
than happy to learn. =20
>=20
> Thanks,
> Yizhou
>=20
> -----Original Message-----
> From: nwcrg [mailto:nwcrg-bounces@irtf.org] On Behalf Of Carsten =
Bormann
> Sent: Monday, December 16, 2019 4:22 AM
> To: loops@ietf.org
> Cc: nwcrg@irtf.org
> Subject: Re: [nwcrg] [LOOPS] IETF106: LOOPS side meeting on Tuesday =
08:30, Orchard Room
>=20
> Thanks again everyone for the participation at the LOOPS side meeting =
and in our slot at the NWCRG meeting.
>=20
> I have compiled more detailed notes, with links to/copies of the =
meeting materials, at
>=20
> https://github.com/loops-wg/ietf106
>=20
> Please do have a look at the notes, specifically [1] and [2], and send =
corrections and additions.  Also, there were a few items in the NWCRG =
discussion where there may be results that we already can point to; as =
Marie-Jose said, please send them to both mailing lists.
>=20
> Gr=C3=BC=C3=9Fe, Carsten
>=20
> [1]: =
https://github.com/loops-wg/ietf106/blob/master/ietf106-loops-side-meeting=
.md
> [2]: =
https://github.com/loops-wg/ietf106/blob/master/ietf106-nwcrg-loops.md
>=20
> _______________________________________________
> nwcrg mailing list
> nwcrg@irtf.org
> https://www.irtf.org/mailman/listinfo/nwcrg
> --=20
> LOOPS mailing list
> LOOPS@ietf.org
> https://www.ietf.org/mailman/listinfo/loops



--=20
Colin Perkins
https://csperkins.org/





From nobody Thu Dec 19 03:35:23 2019
Return-Path: <zhouxingwang@huawei.com>
X-Original-To: loops@ietfa.amsl.com
Delivered-To: loops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BC1B81200F1 for <loops@ietfa.amsl.com>; Thu, 19 Dec 2019 03:35:21 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level: 
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 ikC5nlhTtnnl for <loops@ietfa.amsl.com>; Thu, 19 Dec 2019 03:35:19 -0800 (PST)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (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 5C1E11200B4 for <loops@ietf.org>; Thu, 19 Dec 2019 03:35:19 -0800 (PST)
Received: from lhreml705-cah.china.huawei.com (unknown [172.18.7.107]) by Forcepoint Email with ESMTP id AD8B12A3C85299B34344 for <loops@ietf.org>; Thu, 19 Dec 2019 11:35:15 +0000 (GMT)
Received: from nkgeml702-chm.china.huawei.com (10.98.57.155) by lhreml705-cah.china.huawei.com (10.201.108.46) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 19 Dec 2019 11:35:15 +0000
Received: from dggeme758-chm.china.huawei.com (10.3.19.104) by nkgeml702-chm.china.huawei.com (10.98.57.155) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5; Thu, 19 Dec 2019 19:35:12 +0800
Received: from dggeme758-chm.china.huawei.com ([10.6.80.69]) by dggeme758-chm.china.huawei.com ([10.6.80.69]) with mapi id 15.01.1713.004; Thu, 19 Dec 2019 19:35:12 +0800
From: "Zhouxingwang (Joe)" <zhouxingwang@huawei.com>
To: Colin Perkins <csp@csperkins.org>, Liyizhou <liyizhou@huawei.com>
CC: Carsten Bormann <cabo@tzi.org>, "loops@ietf.org" <loops@ietf.org>, "nwcrg@irtf.org" <nwcrg@irtf.org>
Thread-Topic: [LOOPS] [nwcrg]  IETF106: LOOPS side meeting on Tuesday 08:30, Orchard Room
Thread-Index: AQHVtJCXFSjuUH7vWkSxcvxymuEBKae9rDOAgAOrADA=
Date: Thu, 19 Dec 2019 11:35:11 +0000
Message-ID: <98c3009ab0054054af3f71aba4d52d58@huawei.com>
References: <AAF1E19E-37C1-4A9D-B92A-621054B06AF6@tzi.org> <c172b80c-04ee-9786-153f-9e1dda57fdd8@steinwurf.com> <3D026CEF-AF7D-4CDE-8A5B-8CE5DCF749D1@tzi.org> <163A8040-9B13-43AA-8917-F75D984B0EBF@tzi.org> <26708398-5DEB-478E-8CB8-D406A8B874FF@tzi.org> <7DC0B005-8BA2-4D80-8CDF-4E2AE7EA96F3@tzi.org> <4a45b97df9e54e0abb4f5c9a0e7ce4ff@huawei.com> <8451B22E-8D91-406E-852B-F21B79DEBEB6@csperkins.org>
In-Reply-To: <8451B22E-8D91-406E-852B-F21B79DEBEB6@csperkins.org>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.134.27.230]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/loops/o6kgyDPvPE0gPpjvHwK_IebA__I>
Subject: Re: [LOOPS] [nwcrg]  IETF106: LOOPS side meeting on Tuesday 08:30, Orchard Room
X-BeenThere: loops@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Local Optimizations on Path Segments <loops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/loops>, <mailto:loops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/loops/>
List-Post: <mailto:loops@ietf.org>
List-Help: <mailto:loops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/loops>, <mailto:loops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 19 Dec 2019 11:35:22 -0000

SGksDQoNClN0YXRpY2FsbHkgY29uZmlndXJpbmcgYSB0aW1lb3V0ICh0aGUgcGVyaW9kIHRoYXQg
dGhlIGluZ3Jlc3Mgd2lsbCBrZWVwIHRoZSBwYWNrZXRzIGluIGl0cyBidWZmZXIpIGlzIGEgbGl0
dGxlIGJpdCBkYW5nZXJvdXMsIGJlY2F1c2UgdGhlIGxvY2FsIFJUVCBtYXkgdmFyeSBhbmQgaXMg
bm90IGtub3duIGluIGFkdmFuY2UuIElmIHRoZSB0aW1lb3V0IHZhbHVlIGlzIHNob3J0ZXIgdGhh
biB0aGUgcmVhbCBsb2NhbCBSVFQsIGl0IHdpbGwgYmUgYmFkIGZvciBMT09QUy4gU28gc2V0dGlu
ZyBhbiBOIChob3cgbWFueSB0aW1lcyBhIGxvc3QgcGFja2V0IHRvIGJlIHJldHJhbnNtaXR0ZWQs
IG9uY2UgcGVyIFJUVCkgaW4gdGhlIHN5c3RlbSBpcyBtb3JlIHByZWZlcnJlZC4gDQpUbyBzaW1w
bGlmeSB0aGUgbG9naWMsIEkgZG9u4oCZdCB0aGluayBzZXR0aW5nIE4gYXQgYm90aCBpbmdyZXNz
IGFuZCBlZ3Jlc3Mgc2lkZSBpcyBhIGdvb2QgaWRlYSwgYmVjYXVzZSBpdCB3aWxsIG1ha2UgdGhp
bmdzIGNvbXBsaWNhdGVkIGFuZCBOIG1heSBiZSBzZXQgaW5jb25zaXN0ZW50bHkgYnkgbWlzdGFr
ZSwgc28gc2V0dGluZyBOIGFuZCB0cmlnZ2VyaW5nL3Rlcm1pbmF0aW5nIHRoZSByZXRyYW5zbWlz
c2lvbiBvbmx5IGF0IG9uZSBzaWRlIGlzIGJldHRlci4gDQoNClNvbWUgdGhpbmtpbmcgb2YgdGhp
czoNCjEpIFNldCBOIGFuZCBtYWtlIGRlY2lzaW9uIGF0IGluZ3Jlc3Mgb25seQ0KICAgIFByb3M6
IGluZ3Jlc3Mga25vd3MgUlRULCBpdCB3aWxsIHBlcmZvcm0gTiB0aW1lcyByZXRyYW5zbWlzc2lv
biBhbmQgb25jZSBwZXIgUlRUIHdlbGwsIGFuZCBleHBpcmVzIHRoZSBwYWNrZXRzIGFmdGVyIE4q
UlRUIGZyb20gdGhlIGJ1ZmZlcg0KICAgIENvbnM6IGVncmVzcyBuZWVkcyB0byBrbm93IE4gYW5k
IFJUVCwgYW5kIHN0aWxsIGhhdmUgYSBsb2dpYyB0byBzdG9wIGFza2luZyBmb3IgdGhlIGxvc3Qg
cGFja2V0cyANCg0KMikgU2V0IE4gYW5kIG1ha2UgZGVjaXNpb24gYXQgZWdyZXNzIG9ubHkNCiAg
ICBQcm9zOiBuZWFybHkgbm8gbG9naWMgYXQgaW5ncmVzcywgZWdyZXNzIGtlZXBzIGFza2luZyBm
b3IgbG9zdCBwYWNrZXRzIGJ5IE5BQ0ssIGFuZCBhZnRlciBOKlJUVCAoY29tbXVuaWNhdGVkIGJ5
IGluZ3Jlc3MpIGl0IHdpbGwgcHJldGVuZCBpdCBoYXMgZ290IHRoZW0gYW5kIHNlbmQgQUNLIHRv
IGluZ3Jlc3MgdG8gbGV0IGl0IGNsZWFyIHRoZSBwYWNrZXRzIGZyb20gcmV0cmFuc21pc3Npb24g
YnVmZmVyLiBJbmdyZXNzIGp1c3QgbmVlZHMgYSBiaWcgZW5vdWdoIGJ1ZmZlciB0byBob2xkIHRo
ZSBwYWNrZXRzIHdhaXRpbmcgdG8gYmUgcmV0cmFuc21pdHRlZCwgYW5kIG9uY2UgdGhlIGJ1ZmZl
ciBpcyBmdWxsIHRoZSBuZXcgcGFja2V0IGp1c3QgcmVwbGFjZSB0aGUgZWFybGllc3Qgb25lDQog
ICAgQ29uczogZm9yd2FyZCBSVFQgbmVlZHMgdG8gYmUgY29tbXVuaWNhdGVkIGZyb20gaW5ncmVz
cyB0byBlZ3Jlc3MNCg0KVGhhbmtzDQpKb2UNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N
CkZyb206IExPT1BTIFttYWlsdG86bG9vcHMtYm91bmNlc0BpZXRmLm9yZ10gT24gQmVoYWxmIE9m
IENvbGluIFBlcmtpbnMNClNlbnQ6IFR1ZXNkYXksIERlY2VtYmVyIDE3LCAyMDE5IDc6MzMgUE0N
ClRvOiBMaXlpemhvdSA8bGl5aXpob3VAaHVhd2VpLmNvbT4NCkNjOiBDYXJzdGVuIEJvcm1hbm4g
PGNhYm9AdHppLm9yZz47IGxvb3BzQGlldGYub3JnOyBud2NyZ0BpcnRmLm9yZw0KU3ViamVjdDog
UmU6IFtMT09QU10gW253Y3JnXSBJRVRGMTA2OiBMT09QUyBzaWRlIG1lZXRpbmcgb24gVHVlc2Rh
eSAwODozMCwgT3JjaGFyZCBSb29tDQoNCkhpLA0KDQpJcyBub3QgdGhlIGluZ3Jlc3MgbG9naWMg
dGhlIHNhbWUgZm9yIHNpbmdsZSBvciBtdWx0aXBsZSByZXRyYW5zbWlzc2lvbnM/IFRoZSBpbmdy
ZXNzIG5vZGUgd2lsbCBtYWludGFpbiBhIHF1ZXVlIG9mIHBhY2tldHMgdGhhdCBoYXZlIGJlZW4g
c2VudCBhbmQgY2FuIGJlIHJldHJhbnNtaXR0ZWQuIFBhY2tldHMgZXhwaXJlIGZyb20gdGhlIHF1
ZXVlIGlmIGFuIEFDSyBmb3IgdGhlaXIgc2VxdWVuY2UgbnVtYmVyIGlzIHJlY2VpdmVkLCBvciBh
ZnRlciBhIGNlcnRhaW4gYW1vdW50IG9mIHRpbWUuIFBhY2tldHMgYXJlIHJldHJhbnNtaXR0ZWQg
aWYgYSByZXRyYW5zbWlzc2lvbiByZXF1ZXN0IGFycml2ZXMgYmVmb3JlIHRoZXkgZXhwaXJlLiBZ
b3UgbmVlZCB0aGUgdGltZW91dCB0byBleHBpcmUgcGFja2V0cyBpbiBjYXNlIEFDS3MgYXJlIGxv
c3QsIHNvIHdoZXRoZXIgdGhlIGluZ3Jlc3Mgc3VwcG9ydHMgc2luZ2xlIG9yIG11bHRpcGxlIHJl
dHJhbnNtaXNzaW9ucyBpcyBqdXN0IGEgY2FzZSBvZiBjb25maWd1cmluZyB0aGUgdGltZW91dC4N
Cg0KSWYgeW91IHNvbWVob3cgY29tbXVuaWNhdGUgdGhhdCB0aW1lb3V0IHRvIHRoZSBlZ3Jlc3Mg
bm9kZSwgdGhlbiBpdCBjYW4gbWFrZSBhIGxvY2FsIGRlY2lzaW9uIG9uIHdoZXRoZXIgdG8gbWFr
ZSBvbmUgb3IgbW9yZSByZXRyYW5zbWlzc2lvbiByZXF1ZXN0cyBmb3IgYSBsb3N0IHBhY2tldC4g
VGhpcyB3b3VsZCBnaXZlIHRoZSBlZ3Jlc3MgZmxleGliaWxpdHkgdG8gcGljayBhbiBhcHByb3By
aWF0ZSByZXRyYW5zbWlzc2lvbiByZXF1ZXN0IHN0cmF0ZWd5IHdpdGhvdXQgbmVlZGluZyB0byBz
dGFuZGFyZGlzZSB3aGF0IHRoYXQgc3RyYXRlZ3kgaXMuIExPT1BTIHdvdWxkIGRlZmluZSB0aGUg
bWVjaGFuaXNtIGFuZCBnaXZlIGd1aWRhbmNlIG9uIGNob2ljZSBvZiB0aGUgaW5ncmVzcyBleHBp
cmF0aW9uIHRpbWVvdXQuIA0KDQpDb2xpbg0KDQoNCg0KPiBPbiAxNyBEZWMgMjAxOSwgYXQgMDQ6
MTQsIExpeWl6aG91IDxsaXlpemhvdUBodWF3ZWkuY29tPiB3cm90ZToNCj4gDQo+IEhpIENhcnN0
ZW4gYW5kIGFsbCwNCj4gDQo+IFRoYW5rcyBmb3IgcHV0dGluZyBhbGwgdGhlc2UgdG9nZXRoZXIu
IA0KPiANCj4gSSB3b3VsZCBsaWtlIHRvIGhhdmUgYSBmb2xsb3ctdXAgZGlzY3Vzc2lvbiByZWdh
cmRpbmcgc2luZ2xlIHJldHJhbnNtaXNzaW9uIHZzLiBtdWx0aXBsZSByZXRyYW5zbWlzc2lvbi4N
Cj4gDQo+IFRoZXJlIGlzIGEgcG90ZW50aWFsIGNob2ljZSB0byBkZXNpZ24gYSBzaW5nbGUgcmV0
cmFuc21pc3Npb24gbW9kZSAqb25seSogbWVjaGFuaXNtLiBUaGUgcmVhc29uIHdlIG1pZ2h0IHdh
bnQgdG8gZG8gaXQgaXMgdGhlIGRlc2lnbiBpcyBlYXNpZXIgY29tcGFyaW5nIHdpdGggYSBnZW5l
cmljIHJldHJhbnNtaXNzaW9uIG1lY2hhbmlzbSBhbGxvd2luZyBib3RoIHNpbmdsZSBvciBtdWx0
aXBsZSByZXRyYW5zbWlzc2lvbiBieSBwYXJhbWV0ZXIgY29uZmlndXJhdGlvbi4NCj4gDQo+IEZv
ciBleGFtcGxlLCAgTE9PUFMgZWdyZXNzIGNhbiBtYXJrIGEgbG9zdCBwYWNrZXQgZGlyZWN0bHkg
YXMgInJlY2VpdmVkIiBhZnRlciBpdCBmZWVkYmFja3MgYSBmZXcgQUNLcyB0byBpbmRpY2F0ZSBh
IGxvc3QgcGFja2V0LiBJbmdyZXNzIHJlbW92ZXMgdGhlIHBhY2tldCBmcm9tIGl0cyBjYWNoZSBh
ZnRlciBhIHNpbmdsZSByZXRyYW5zbWlzc2lvbi4gT25jZSB0aGUgcmV0cmFuc21pdHRlZCBwYWNr
ZXQgcmVhY2hlcyB0aGUgZWdyZXNzLCBlZ3Jlc3Mgc2ltcGx5IGZvcndhcmRzIGl0LiBTdWNoIGEg
bWVjaGFuaXNtIG9ubHkgd29ya3MgZm9yIHNpbmdsZSByZXRyYW5zbWlzc2lvbi4gIA0KPiBJbiB0
aGlzIHdheSwgZWdyZXNzIGhhcyBhIHNpbXBsZSBsb2dpYyB0byBkZWNpZGUgd2hlbiB0byBzdG9w
IHNlbmRpbmcgdGhlIGluZGljYXRpb24gYWJvdXQgYSAibG9zdCIgcGFja2V0LiAgQW5kIHRoZSBp
bmdyZXNzIGRvZXMgbm90IG5lZWQgYSBsb2dpYyB0byBjb250cm9sIHdoZXRoZXIgYW5kIHdoZW4g
Mm5kIGFuZCBsYXRlciByZXRyYW5zbWlzc2lvbnMgc2hvdWxkIGJlIHBlcmZvcm1lZC4NCj4gDQo+
IEluIG11bHRpcGxlIHJldHJhbnNtaXNzaW9uLCBpdCBoYXMgdG8gYmUgbW9yZSBjYXJlZnVsbHkg
ZGVzaWduZWQgdG8gc3luYyB1cCB3aGVuIHRoZSBlZ3Jlc3MgZ2l2ZXMgdXAgYXNraW5nIGZvciBy
ZXRyYW5zbWlzc2lvbiBhbmQgIHdoZW4gdGhlIGluZ3Jlc3MgY2FuIHJlbW92ZSB0aGUgcGFja2V0
IGZyb20gaXRzIGNhY2hlIHNpbmNlIG5vIG1vcmUgcmV0cmFuc21pc3Npb24gaXMgcmVxdWlyZWQu
ICBBcyBMT09QUyBkb2VzIG5vdCBwcm92aWRlIDEwMCUgcmVsaWFiaWxpdHksIG5vcm1hbGx5IGVn
cmVzcyBzaWRlIHNob3VsZCBiZSB0aGUgb25lIGRldGVybWluZXMgd2hlbiB0byBnaXZlIHVwIGFz
a2luZyBmb3IgcmV0cmFuc21pc3Npb24uIFRoZW4gZWdyZXNzIG5lZWRzIHRvIGtub3cgdGhlIGxv
Y2FsIGZvcndhcmQgUlRUIGlmIG11bHRpcGxlIHJldHJhbnNtaXNzaW9uIGlzIGV4cGVjdGVkLg0K
PiANCj4gU28gc2luZ2xlIHJldHJhbnNtaXNzaW9uICpvbmx5KiBjYW4gYmUgd29ydGggY29uc2lk
ZXJpbmcuIEl0IGlzIGEgZGVzaWduIGNob2ljZSBtb3JlIHRoYW4gYW4gaW1wbGVtZW50YXRpb24g
Y2hvaWNlIHRvIG1lLiANCj4gSWYgdGhlcmUgaXMgYSBzaW1wbGUgYW5kIGVmZmljaWVudCB3YXkg
dG8gdW5pZnkgYm90aCwgSSB3b3VsZCBiZSBtb3JlIHRoYW4gaGFwcHkgdG8gbGVhcm4uICANCj4g
DQo+IFRoYW5rcywNCj4gWWl6aG91DQo+IA0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K
PiBGcm9tOiBud2NyZyBbbWFpbHRvOm53Y3JnLWJvdW5jZXNAaXJ0Zi5vcmddIE9uIEJlaGFsZiBP
ZiBDYXJzdGVuIEJvcm1hbm4NCj4gU2VudDogTW9uZGF5LCBEZWNlbWJlciAxNiwgMjAxOSA0OjIy
IEFNDQo+IFRvOiBsb29wc0BpZXRmLm9yZw0KPiBDYzogbndjcmdAaXJ0Zi5vcmcNCj4gU3ViamVj
dDogUmU6IFtud2NyZ10gW0xPT1BTXSBJRVRGMTA2OiBMT09QUyBzaWRlIG1lZXRpbmcgb24gVHVl
c2RheSAwODozMCwgT3JjaGFyZCBSb29tDQo+IA0KPiBUaGFua3MgYWdhaW4gZXZlcnlvbmUgZm9y
IHRoZSBwYXJ0aWNpcGF0aW9uIGF0IHRoZSBMT09QUyBzaWRlIG1lZXRpbmcgYW5kIGluIG91ciBz
bG90IGF0IHRoZSBOV0NSRyBtZWV0aW5nLg0KPiANCj4gSSBoYXZlIGNvbXBpbGVkIG1vcmUgZGV0
YWlsZWQgbm90ZXMsIHdpdGggbGlua3MgdG8vY29waWVzIG9mIHRoZSBtZWV0aW5nIG1hdGVyaWFs
cywgYXQNCj4gDQo+IGh0dHBzOi8vZ2l0aHViLmNvbS9sb29wcy13Zy9pZXRmMTA2DQo+IA0KPiBQ
bGVhc2UgZG8gaGF2ZSBhIGxvb2sgYXQgdGhlIG5vdGVzLCBzcGVjaWZpY2FsbHkgWzFdIGFuZCBb
Ml0sIGFuZCBzZW5kIGNvcnJlY3Rpb25zIGFuZCBhZGRpdGlvbnMuICBBbHNvLCB0aGVyZSB3ZXJl
IGEgZmV3IGl0ZW1zIGluIHRoZSBOV0NSRyBkaXNjdXNzaW9uIHdoZXJlIHRoZXJlIG1heSBiZSBy
ZXN1bHRzIHRoYXQgd2UgYWxyZWFkeSBjYW4gcG9pbnQgdG87IGFzIE1hcmllLUpvc2Ugc2FpZCwg
cGxlYXNlIHNlbmQgdGhlbSB0byBib3RoIG1haWxpbmcgbGlzdHMuDQo+IA0KPiBHcsO8w59lLCBD
YXJzdGVuDQo+IA0KPiBbMV06IGh0dHBzOi8vZ2l0aHViLmNvbS9sb29wcy13Zy9pZXRmMTA2L2Js
b2IvbWFzdGVyL2lldGYxMDYtbG9vcHMtc2lkZS1tZWV0aW5nLm1kDQo+IFsyXTogaHR0cHM6Ly9n
aXRodWIuY29tL2xvb3BzLXdnL2lldGYxMDYvYmxvYi9tYXN0ZXIvaWV0ZjEwNi1ud2NyZy1sb29w
cy5tZA0KPiANCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18NCj4gbndjcmcgbWFpbGluZyBsaXN0DQo+IG53Y3JnQGlydGYub3JnDQo+IGh0dHBzOi8vd3d3
LmlydGYub3JnL21haWxtYW4vbGlzdGluZm8vbndjcmcNCj4gLS0gDQo+IExPT1BTIG1haWxpbmcg
bGlzdA0KPiBMT09QU0BpZXRmLm9yZw0KPiBodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xp
c3RpbmZvL2xvb3BzDQoNCg0KDQotLSANCkNvbGluIFBlcmtpbnMNCmh0dHBzOi8vY3NwZXJraW5z
Lm9yZy8NCg0KDQoNCg0KLS0gDQpMT09QUyBtYWlsaW5nIGxpc3QNCkxPT1BTQGlldGYub3JnDQpo
dHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xvb3BzDQo=


From nobody Thu Dec 19 08:51:26 2019
Return-Path: <csp@csperkins.org>
X-Original-To: loops@ietfa.amsl.com
Delivered-To: loops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 223E91200F1; Thu, 19 Dec 2019 08:51:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Level: 
X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 g_fi6ADDiwbU; Thu, 19 Dec 2019 08:51:16 -0800 (PST)
Received: from balrog.mythic-beasts.com (balrog.mythic-beasts.com [IPv6:2a00:1098:0:82:1000:0:2:1]) (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 72F571200E3; Thu, 19 Dec 2019 08:51:16 -0800 (PST)
Received: from [195.143.129.232] (port=41631 helo=[172.27.83.74]) by balrog.mythic-beasts.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92.3) (envelope-from <csp@csperkins.org>) id 1ihz0v-0003pZ-Lp; Thu, 19 Dec 2019 16:51:06 +0000
From: Colin Perkins <csp@csperkins.org>
Message-Id: <E89B8107-F643-4DB8-B0DE-A1457B17DA1A@csperkins.org>
Content-Type: multipart/alternative; boundary="Apple-Mail=_54B15B49-49E5-479C-BD5A-0A09BDC4AA1B"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Date: Thu, 19 Dec 2019 16:50:34 +0000
In-Reply-To: <98c3009ab0054054af3f71aba4d52d58@huawei.com>
Cc: Liyizhou <liyizhou@huawei.com>, Carsten Bormann <cabo@tzi.org>, "loops@ietf.org" <loops@ietf.org>, "nwcrg@irtf.org" <nwcrg@irtf.org>
To: "Zhouxingwang (Joe)" <zhouxingwang@huawei.com>
References: <AAF1E19E-37C1-4A9D-B92A-621054B06AF6@tzi.org> <c172b80c-04ee-9786-153f-9e1dda57fdd8@steinwurf.com> <3D026CEF-AF7D-4CDE-8A5B-8CE5DCF749D1@tzi.org> <163A8040-9B13-43AA-8917-F75D984B0EBF@tzi.org> <26708398-5DEB-478E-8CB8-D406A8B874FF@tzi.org> <7DC0B005-8BA2-4D80-8CDF-4E2AE7EA96F3@tzi.org> <4a45b97df9e54e0abb4f5c9a0e7ce4ff@huawei.com> <8451B22E-8D91-406E-852B-F21B79DEBEB6@csperkins.org> <98c3009ab0054054af3f71aba4d52d58@huawei.com>
X-Mailer: Apple Mail (2.3445.104.11)
X-BlackCat-Spam-Score: 4
Archived-At: <https://mailarchive.ietf.org/arch/msg/loops/TbevigklaN64vGc5s9AWkzwKxKE>
Subject: Re: [LOOPS] [nwcrg]  IETF106: LOOPS side meeting on Tuesday 08:30, Orchard Room
X-BeenThere: loops@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Local Optimizations on Path Segments <loops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/loops>, <mailto:loops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/loops/>
List-Post: <mailto:loops@ietf.org>
List-Help: <mailto:loops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/loops>, <mailto:loops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 19 Dec 2019 16:51:19 -0000

--Apple-Mail=_54B15B49-49E5-479C-BD5A-0A09BDC4AA1B
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Joe,

I think you misunderstood my email.=20

I did not suggest statically configuring the timeout. The appropriate =
value clearly depends on the RTT. LOOPS can give guidance on how it =
relates to the RTT.

I also did not suggest setting N at both ingress and egress. How often =
to request retransmissions is a purely local decision at the egress. The =
ingress does not need to know, or care, how often the egress might send =
retransmission requests.

Colin



> On 19 Dec 2019, at 11:35, Zhouxingwang (Joe) <zhouxingwang@huawei.com> =
wrote:
>=20
> Hi,
>=20
> Statically configuring a timeout (the period that the ingress will =
keep the packets in its buffer) is a little bit dangerous, because the =
local RTT may vary and is not known in advance. If the timeout value is =
shorter than the real local RTT, it will be bad for LOOPS. So setting an =
N (how many times a lost packet to be retransmitted, once per RTT) in =
the system is more preferred.=20
> To simplify the logic, I don=E2=80=99t think setting N at both ingress =
and egress side is a good idea, because it will make things complicated =
and N may be set inconsistently by mistake, so setting N and =
triggering/terminating the retransmission only at one side is better.=20
>=20
> Some thinking of this:
> 1) Set N and make decision at ingress only
>    Pros: ingress knows RTT, it will perform N times retransmission and =
once per RTT well, and expires the packets after N*RTT from the buffer
>    Cons: egress needs to know N and RTT, and still have a logic to =
stop asking for the lost packets=20
>=20
> 2) Set N and make decision at egress only
>    Pros: nearly no logic at ingress, egress keeps asking for lost =
packets by NACK, and after N*RTT (communicated by ingress) it will =
pretend it has got them and send ACK to ingress to let it clear the =
packets from retransmission buffer. Ingress just needs a big enough =
buffer to hold the packets waiting to be retransmitted, and once the =
buffer is full the new packet just replace the earliest one
>    Cons: forward RTT needs to be communicated from ingress to egress
>=20
> Thanks
> Joe
>=20
> -----Original Message-----
> From: LOOPS [mailto:loops-bounces@ietf.org =
<mailto:loops-bounces@ietf.org>] On Behalf Of Colin Perkins
> Sent: Tuesday, December 17, 2019 7:33 PM
> To: Liyizhou <liyizhou@huawei.com <mailto:liyizhou@huawei.com>>
> Cc: Carsten Bormann <cabo@tzi.org <mailto:cabo@tzi.org>>; =
loops@ietf.org <mailto:loops@ietf.org>; nwcrg@irtf.org =
<mailto:nwcrg@irtf.org>
> Subject: Re: [LOOPS] [nwcrg] IETF106: LOOPS side meeting on Tuesday =
08:30, Orchard Room
>=20
> Hi,
>=20
> Is not the ingress logic the same for single or multiple =
retransmissions? The ingress node will maintain a queue of packets that =
have been sent and can be retransmitted. Packets expire from the queue =
if an ACK for their sequence number is received, or after a certain =
amount of time. Packets are retransmitted if a retransmission request =
arrives before they expire. You need the timeout to expire packets in =
case ACKs are lost, so whether the ingress supports single or multiple =
retransmissions is just a case of configuring the timeout.
>=20
> If you somehow communicate that timeout to the egress node, then it =
can make a local decision on whether to make one or more retransmission =
requests for a lost packet. This would give the egress flexibility to =
pick an appropriate retransmission request strategy without needing to =
standardise what that strategy is. LOOPS would define the mechanism and =
give guidance on choice of the ingress expiration timeout.=20
>=20
> Colin
>=20
>=20
>=20
>> On 17 Dec 2019, at 04:14, Liyizhou <liyizhou@huawei.com> wrote:
>>=20
>> Hi Carsten and all,
>>=20
>> Thanks for putting all these together.=20
>>=20
>> I would like to have a follow-up discussion regarding single =
retransmission vs. multiple retransmission.
>>=20
>> There is a potential choice to design a single retransmission mode =
*only* mechanism. The reason we might want to do it is the design is =
easier comparing with a generic retransmission mechanism allowing both =
single or multiple retransmission by parameter configuration.
>>=20
>> For example,  LOOPS egress can mark a lost packet directly as =
"received" after it feedbacks a few ACKs to indicate a lost packet. =
Ingress removes the packet from its cache after a single retransmission. =
Once the retransmitted packet reaches the egress, egress simply forwards =
it. Such a mechanism only works for single retransmission. =20
>> In this way, egress has a simple logic to decide when to stop sending =
the indication about a "lost" packet.  And the ingress does not need a =
logic to control whether and when 2nd and later retransmissions should =
be performed.
>>=20
>> In multiple retransmission, it has to be more carefully designed to =
sync up when the egress gives up asking for retransmission and  when the =
ingress can remove the packet from its cache since no more =
retransmission is required.  As LOOPS does not provide 100% reliability, =
normally egress side should be the one determines when to give up asking =
for retransmission. Then egress needs to know the local forward RTT if =
multiple retransmission is expected.
>>=20
>> So single retransmission *only* can be worth considering. It is a =
design choice more than an implementation choice to me.=20
>> If there is a simple and efficient way to unify both, I would be more =
than happy to learn. =20
>>=20
>> Thanks,
>> Yizhou
>>=20
>> -----Original Message-----
>> From: nwcrg [mailto:nwcrg-bounces@irtf.org] On Behalf Of Carsten =
Bormann
>> Sent: Monday, December 16, 2019 4:22 AM
>> To: loops@ietf.org
>> Cc: nwcrg@irtf.org
>> Subject: Re: [nwcrg] [LOOPS] IETF106: LOOPS side meeting on Tuesday =
08:30, Orchard Room
>>=20
>> Thanks again everyone for the participation at the LOOPS side meeting =
and in our slot at the NWCRG meeting.
>>=20
>> I have compiled more detailed notes, with links to/copies of the =
meeting materials, at
>>=20
>> https://github.com/loops-wg/ietf106
>>=20
>> Please do have a look at the notes, specifically [1] and [2], and =
send corrections and additions.  Also, there were a few items in the =
NWCRG discussion where there may be results that we already can point =
to; as Marie-Jose said, please send them to both mailing lists.
>>=20
>> Gr=C3=BC=C3=9Fe, Carsten
>>=20
>> [1]: =
https://github.com/loops-wg/ietf106/blob/master/ietf106-loops-side-meeting=
.md
>> [2]: =
https://github.com/loops-wg/ietf106/blob/master/ietf106-nwcrg-loops.md
>>=20
>> _______________________________________________
>> nwcrg mailing list
>> nwcrg@irtf.org
>> https://www.irtf.org/mailman/listinfo/nwcrg
>> --=20
>> LOOPS mailing list
>> LOOPS@ietf.org
>> https://www.ietf.org/mailman/listinfo/loops
>=20
>=20
>=20
> --=20
> Colin Perkins
> https://csperkins.org/
>=20
>=20
>=20
>=20
> --=20
> LOOPS mailing list
> LOOPS@ietf.org <mailto:LOOPS@ietf.org>
> https://www.ietf.org/mailman/listinfo/loops =
<https://www.ietf.org/mailman/listinfo/loops>

--Apple-Mail=_54B15B49-49E5-479C-BD5A-0A09BDC4AA1B
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" =
class=3D"">Joe,<div class=3D""><br class=3D""></div><div class=3D"">I =
think you misunderstood my email.&nbsp;<br class=3D""><div class=3D""><br =
class=3D""></div><div class=3D"">I did not suggest statically =
configuring the timeout. The appropriate value clearly depends on the =
RTT. LOOPS can give guidance on how it relates to the RTT.</div><div =
class=3D""><br class=3D""></div><div class=3D"">I also did not suggest =
setting N at both ingress and egress. How often to request =
retransmissions is a purely local decision at the egress. The ingress =
does not need to know, or care, how often the egress might send =
retransmission requests.</div><div class=3D""><br class=3D""></div><div =
class=3D"">Colin</div><div class=3D""><br class=3D""></div><div =
class=3D""><br class=3D""><div><br class=3D""><blockquote type=3D"cite" =
class=3D""><div class=3D"">On 19 Dec 2019, at 11:35, Zhouxingwang (Joe) =
&lt;<a href=3D"mailto:zhouxingwang@huawei.com" =
class=3D"">zhouxingwang@huawei.com</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; float: none; =
display: inline !important;" class=3D"">Hi,</span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D""><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; float: none; =
display: inline !important;" class=3D"">Statically configuring a timeout =
(the period that the ingress will keep the packets in its buffer) is a =
little bit dangerous, because the local RTT may vary and is not known in =
advance. If the timeout value is shorter than the real local RTT, it =
will be bad for LOOPS. So setting an N (how many times a lost packet to =
be retransmitted, once per RTT) in the system is more preferred.<span =
class=3D"Apple-converted-space">&nbsp;</span></span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; float: none; =
display: inline !important;" class=3D"">To simplify the logic, I don=E2=80=
=99t think setting N at both ingress and egress side is a good idea, =
because it will make things complicated and N may be set inconsistently =
by mistake, so setting N and triggering/terminating the retransmission =
only at one side is better.<span =
class=3D"Apple-converted-space">&nbsp;</span></span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D""><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; float: none; =
display: inline !important;" class=3D"">Some thinking of this:</span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; float: none; =
display: inline !important;" class=3D"">1) Set N and make decision at =
ingress only</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Inconsolata; font-size: 10px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Inconsolata; font-size: 10px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;Pros: ingress knows RTT, it will perform N =
times retransmission and once per RTT well, and expires the packets =
after N*RTT from the buffer</span><br style=3D"caret-color: rgb(0, 0, =
0); font-family: Inconsolata; font-size: 10px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Inconsolata; font-size: 10px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;Cons: egress needs to know N and RTT, and =
still have a logic to stop asking for the lost packets<span =
class=3D"Apple-converted-space">&nbsp;</span></span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D""><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; float: none; =
display: inline !important;" class=3D"">2) Set N and make decision at =
egress only</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Inconsolata; font-size: 10px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Inconsolata; font-size: 10px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;Pros: nearly no logic at ingress, egress =
keeps asking for lost packets by NACK, and after N*RTT (communicated by =
ingress) it will pretend it has got them and send ACK to ingress to let =
it clear the packets from retransmission buffer. Ingress just needs a =
big enough buffer to hold the packets waiting to be retransmitted, and =
once the buffer is full the new packet just replace the earliest =
one</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Inconsolata; font-size: 10px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Inconsolata; font-size: 10px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;Cons: forward RTT needs to be communicated =
from ingress to egress</span><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Inconsolata; font-size: 10px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><br style=3D"caret-color: rgb(0, 0, =
0); font-family: Inconsolata; font-size: 10px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Inconsolata; font-size: 10px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">Thanks</span><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Inconsolata; font-size: 10px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Inconsolata; font-size: 10px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">Joe</span><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Inconsolata; font-size: 10px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><br style=3D"caret-color: rgb(0, 0, =
0); font-family: Inconsolata; font-size: 10px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Inconsolata; font-size: 10px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">-----Original Message-----</span><br style=3D"caret-color: =
rgb(0, 0, 0); font-family: Inconsolata; font-size: 10px; font-style: =
normal; font-variant-caps: normal; font-weight: normal; letter-spacing: =
normal; text-align: start; text-indent: 0px; text-transform: none; =
white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Inconsolata; font-size: 10px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">From: LOOPS [</span><a href=3D"mailto:loops-bounces@ietf.org" =
style=3D"font-family: Inconsolata; font-size: 10px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
orphans: auto; text-align: start; text-indent: 0px; text-transform: =
none; white-space: normal; widows: auto; word-spacing: 0px; =
-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" =
class=3D"">mailto:loops-bounces@ietf.org</a><span style=3D"caret-color: =
rgb(0, 0, 0); font-family: Inconsolata; font-size: 10px; font-style: =
normal; font-variant-caps: normal; font-weight: normal; letter-spacing: =
normal; text-align: start; text-indent: 0px; text-transform: none; =
white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">] On Behalf Of Colin Perkins</span><br style=3D"caret-color: =
rgb(0, 0, 0); font-family: Inconsolata; font-size: 10px; font-style: =
normal; font-variant-caps: normal; font-weight: normal; letter-spacing: =
normal; text-align: start; text-indent: 0px; text-transform: none; =
white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Inconsolata; font-size: 10px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">Sent: Tuesday, December 17, 2019 7:33 PM</span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; float: none; =
display: inline !important;" class=3D"">To: Liyizhou &lt;</span><a =
href=3D"mailto:liyizhou@huawei.com" style=3D"font-family: Inconsolata; =
font-size: 10px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; orphans: auto; text-align: =
start; text-indent: 0px; text-transform: none; white-space: normal; =
widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; =
-webkit-text-stroke-width: 0px;" class=3D"">liyizhou@huawei.com</a><span =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; float: none; =
display: inline !important;" class=3D"">&gt;</span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; float: none; =
display: inline !important;" class=3D"">Cc: Carsten Bormann =
&lt;</span><a href=3D"mailto:cabo@tzi.org" style=3D"font-family: =
Inconsolata; font-size: 10px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; orphans: auto; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; =
-webkit-text-stroke-width: 0px;" class=3D"">cabo@tzi.org</a><span =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; float: none; =
display: inline !important;" class=3D"">&gt;;<span =
class=3D"Apple-converted-space">&nbsp;</span></span><a =
href=3D"mailto:loops@ietf.org" style=3D"font-family: Inconsolata; =
font-size: 10px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; orphans: auto; text-align: =
start; text-indent: 0px; text-transform: none; white-space: normal; =
widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; =
-webkit-text-stroke-width: 0px;" class=3D"">loops@ietf.org</a><span =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; float: none; =
display: inline !important;" class=3D"">;<span =
class=3D"Apple-converted-space">&nbsp;</span></span><a =
href=3D"mailto:nwcrg@irtf.org" style=3D"font-family: Inconsolata; =
font-size: 10px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; orphans: auto; text-align: =
start; text-indent: 0px; text-transform: none; white-space: normal; =
widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; =
-webkit-text-stroke-width: 0px;" class=3D"">nwcrg@irtf.org</a><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; float: none; =
display: inline !important;" class=3D"">Subject: Re: [LOOPS] [nwcrg] =
IETF106: LOOPS side meeting on Tuesday 08:30, Orchard Room</span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D""><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; float: none; =
display: inline !important;" class=3D"">Hi,</span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D""><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; float: none; =
display: inline !important;" class=3D"">Is not the ingress logic the =
same for single or multiple retransmissions? The ingress node will =
maintain a queue of packets that have been sent and can be =
retransmitted. Packets expire from the queue if an ACK for their =
sequence number is received, or after a certain amount of time. Packets =
are retransmitted if a retransmission request arrives before they =
expire. You need the timeout to expire packets in case ACKs are lost, so =
whether the ingress supports single or multiple retransmissions is just =
a case of configuring the timeout.</span><br style=3D"caret-color: =
rgb(0, 0, 0); font-family: Inconsolata; font-size: 10px; font-style: =
normal; font-variant-caps: normal; font-weight: normal; letter-spacing: =
normal; text-align: start; text-indent: 0px; text-transform: none; =
white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><br style=3D"caret-color: rgb(0, 0, =
0); font-family: Inconsolata; font-size: 10px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Inconsolata; font-size: 10px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">If you somehow communicate that timeout to the egress node, =
then it can make a local decision on whether to make one or more =
retransmission requests for a lost packet. This would give the egress =
flexibility to pick an appropriate retransmission request strategy =
without needing to standardise what that strategy is. LOOPS would define =
the mechanism and give guidance on choice of the ingress expiration =
timeout.<span class=3D"Apple-converted-space">&nbsp;</span></span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D""><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; float: none; =
display: inline !important;" class=3D"">Colin</span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D""><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D""><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D""><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;" =
class=3D""><blockquote type=3D"cite" style=3D"font-family: Inconsolata; =
font-size: 10px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; orphans: auto; text-align: =
start; text-indent: 0px; text-transform: none; white-space: normal; =
widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D"">On 17 =
Dec 2019, at 04:14, Liyizhou &lt;<a href=3D"mailto:liyizhou@huawei.com" =
class=3D"">liyizhou@huawei.com</a>&gt; wrote:<br class=3D""><br =
class=3D"">Hi Carsten and all,<br class=3D""><br class=3D"">Thanks for =
putting all these together.<span =
class=3D"Apple-converted-space">&nbsp;</span><br class=3D""><br =
class=3D"">I would like to have a follow-up discussion regarding single =
retransmission vs. multiple retransmission.<br class=3D""><br =
class=3D"">There is a potential choice to design a single retransmission =
mode *only* mechanism. The reason we might want to do it is the design =
is easier comparing with a generic retransmission mechanism allowing =
both single or multiple retransmission by parameter configuration.<br =
class=3D""><br class=3D"">For example, &nbsp;LOOPS egress can mark a =
lost packet directly as "received" after it feedbacks a few ACKs to =
indicate a lost packet. Ingress removes the packet from its cache after =
a single retransmission. Once the retransmitted packet reaches the =
egress, egress simply forwards it. Such a mechanism only works for =
single retransmission. &nbsp;<br class=3D"">In this way, egress has a =
simple logic to decide when to stop sending the indication about a =
"lost" packet. &nbsp;And the ingress does not need a logic to control =
whether and when 2nd and later retransmissions should be performed.<br =
class=3D""><br class=3D"">In multiple retransmission, it has to be more =
carefully designed to sync up when the egress gives up asking for =
retransmission and &nbsp;when the ingress can remove the packet from its =
cache since no more retransmission is required. &nbsp;As LOOPS does not =
provide 100% reliability, normally egress side should be the one =
determines when to give up asking for retransmission. Then egress needs =
to know the local forward RTT if multiple retransmission is expected.<br =
class=3D""><br class=3D"">So single retransmission *only* can be worth =
considering. It is a design choice more than an implementation choice to =
me.<span class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">If =
there is a simple and efficient way to unify both, I would be more than =
happy to learn. &nbsp;<br class=3D""><br class=3D"">Thanks,<br =
class=3D"">Yizhou<br class=3D""><br class=3D"">-----Original =
Message-----<br class=3D"">From: nwcrg [<a =
href=3D"mailto:nwcrg-bounces@irtf.org" =
class=3D"">mailto:nwcrg-bounces@irtf.org</a>] On Behalf Of Carsten =
Bormann<br class=3D"">Sent: Monday, December 16, 2019 4:22 AM<br =
class=3D"">To: <a href=3D"mailto:loops@ietf.org" =
class=3D"">loops@ietf.org</a><br class=3D"">Cc: <a =
href=3D"mailto:nwcrg@irtf.org" class=3D"">nwcrg@irtf.org</a><br =
class=3D"">Subject: Re: [nwcrg] [LOOPS] IETF106: LOOPS side meeting on =
Tuesday 08:30, Orchard Room<br class=3D""><br class=3D"">Thanks again =
everyone for the participation at the LOOPS side meeting and in our slot =
at the NWCRG meeting.<br class=3D""><br class=3D"">I have compiled more =
detailed notes, with links to/copies of the meeting materials, at<br =
class=3D""><br class=3D""><a href=3D"https://github.com/loops-wg/ietf106" =
class=3D"">https://github.com/loops-wg/ietf106</a><br class=3D""><br =
class=3D"">Please do have a look at the notes, specifically [1] and [2], =
and send corrections and additions. &nbsp;Also, there were a few items =
in the NWCRG discussion where there may be results that we already can =
point to; as Marie-Jose said, please send them to both mailing lists.<br =
class=3D""><br class=3D"">Gr=C3=BC=C3=9Fe, Carsten<br class=3D""><br =
class=3D"">[1]: =
https://github.com/loops-wg/ietf106/blob/master/ietf106-loops-side-meeting=
.md<br class=3D"">[2]: =
https://github.com/loops-wg/ietf106/blob/master/ietf106-nwcrg-loops.md<br =
class=3D""><br =
class=3D"">_______________________________________________<br =
class=3D"">nwcrg mailing list<br class=3D"">nwcrg@irtf.org<br =
class=3D"">https://www.irtf.org/mailman/listinfo/nwcrg<br =
class=3D"">--<span class=3D"Apple-converted-space">&nbsp;</span><br =
class=3D"">LOOPS mailing list<br class=3D"">LOOPS@ietf.org<br =
class=3D"">https://www.ietf.org/mailman/listinfo/loops<br =
class=3D""></blockquote><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Inconsolata; font-size: 10px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><br style=3D"caret-color: rgb(0, 0, =
0); font-family: Inconsolata; font-size: 10px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><br style=3D"caret-color: rgb(0, 0, =
0); font-family: Inconsolata; font-size: 10px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Inconsolata; font-size: 10px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">--<span class=3D"Apple-converted-space">&nbsp;</span></span><br=
 style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; =
font-size: 10px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Inconsolata; font-size: 10px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">Colin =
Perkins</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Inconsolata; font-size: 10px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Inconsolata; font-size: 10px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D""><a =
href=3D"https://csperkins.org/" =
class=3D"">https://csperkins.org/</a></span><br style=3D"caret-color: =
rgb(0, 0, 0); font-family: Inconsolata; font-size: 10px; font-style: =
normal; font-variant-caps: normal; font-weight: normal; letter-spacing: =
normal; text-align: start; text-indent: 0px; text-transform: none; =
white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><br style=3D"caret-color: rgb(0, 0, =
0); font-family: Inconsolata; font-size: 10px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><br style=3D"caret-color: rgb(0, 0, =
0); font-family: Inconsolata; font-size: 10px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><br style=3D"caret-color: rgb(0, 0, =
0); font-family: Inconsolata; font-size: 10px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><br style=3D"caret-color: rgb(0, 0, =
0); font-family: Inconsolata; font-size: 10px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Inconsolata; font-size: 10px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">--<span class=3D"Apple-converted-space">&nbsp;</span></span><br=
 style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; =
font-size: 10px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Inconsolata; font-size: 10px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">LOOPS mailing =
list</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Inconsolata; font-size: 10px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><a href=3D"mailto:LOOPS@ietf.org" style=3D"font-family: =
Inconsolata; font-size: 10px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; orphans: auto; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; =
-webkit-text-stroke-width: 0px;" class=3D"">LOOPS@ietf.org</a><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Inconsolata; font-size: =
10px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D""><a =
href=3D"https://www.ietf.org/mailman/listinfo/loops" style=3D"font-family:=
 Inconsolata; font-size: 10px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; orphans: auto; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; =
-webkit-text-stroke-width: 0px;" =
class=3D"">https://www.ietf.org/mailman/listinfo/loops</a></div></blockquo=
te></div><br class=3D""></div></div></body></html>=

--Apple-Mail=_54B15B49-49E5-479C-BD5A-0A09BDC4AA1B--


From nobody Thu Dec 19 17:36:32 2019
Return-Path: <zhouxingwang@huawei.com>
X-Original-To: loops@ietfa.amsl.com
Delivered-To: loops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EF76012008D for <loops@ietfa.amsl.com>; Thu, 19 Dec 2019 17:36:29 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Level: 
X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 RsmawGvV8UoV for <loops@ietfa.amsl.com>; Thu, 19 Dec 2019 17:36:27 -0800 (PST)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (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 AB4A1120013 for <loops@ietf.org>; Thu, 19 Dec 2019 17:36:26 -0800 (PST)
Received: from lhreml702-cah.china.huawei.com (unknown [172.18.7.107]) by Forcepoint Email with ESMTP id DC02652C741C2B4F5CCF for <loops@ietf.org>; Fri, 20 Dec 2019 01:36:24 +0000 (GMT)
Received: from nkgeml701-chm.china.huawei.com (10.98.57.156) by lhreml702-cah.china.huawei.com (10.201.108.43) with Microsoft SMTP Server (TLS) id 14.3.408.0; Fri, 20 Dec 2019 01:36:23 +0000
Received: from dggeme758-chm.china.huawei.com (10.3.19.104) by nkgeml701-chm.china.huawei.com (10.98.57.156) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5; Fri, 20 Dec 2019 09:36:21 +0800
Received: from dggeme758-chm.china.huawei.com ([10.6.80.69]) by dggeme758-chm.china.huawei.com ([10.6.80.69]) with mapi id 15.01.1713.004; Fri, 20 Dec 2019 09:36:20 +0800
From: "Zhouxingwang (Joe)" <zhouxingwang@huawei.com>
To: Colin Perkins <csp@csperkins.org>
CC: Liyizhou <liyizhou@huawei.com>, Carsten Bormann <cabo@tzi.org>, "loops@ietf.org" <loops@ietf.org>, "nwcrg@irtf.org" <nwcrg@irtf.org>
Thread-Topic: [LOOPS] [nwcrg]  IETF106: LOOPS side meeting on Tuesday 08:30, Orchard Room
Thread-Index: AQHVtJCXFSjuUH7vWkSxcvxymuEBKae9rDOAgAOrADD//9JsAIABEmdw
Date: Fri, 20 Dec 2019 01:36:20 +0000
Message-ID: <da8da93a58d048d2b8a7dcb0663b881e@huawei.com>
References: <AAF1E19E-37C1-4A9D-B92A-621054B06AF6@tzi.org> <c172b80c-04ee-9786-153f-9e1dda57fdd8@steinwurf.com> <3D026CEF-AF7D-4CDE-8A5B-8CE5DCF749D1@tzi.org> <163A8040-9B13-43AA-8917-F75D984B0EBF@tzi.org> <26708398-5DEB-478E-8CB8-D406A8B874FF@tzi.org> <7DC0B005-8BA2-4D80-8CDF-4E2AE7EA96F3@tzi.org> <4a45b97df9e54e0abb4f5c9a0e7ce4ff@huawei.com> <8451B22E-8D91-406E-852B-F21B79DEBEB6@csperkins.org> <98c3009ab0054054af3f71aba4d52d58@huawei.com> <E89B8107-F643-4DB8-B0DE-A1457B17DA1A@csperkins.org>
In-Reply-To: <E89B8107-F643-4DB8-B0DE-A1457B17DA1A@csperkins.org>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.134.27.230]
Content-Type: multipart/alternative; boundary="_000_da8da93a58d048d2b8a7dcb0663b881ehuaweicom_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/loops/t6WEEYbJhbPmHiF6sw8daEwKLWE>
Subject: Re: [LOOPS] [nwcrg]  IETF106: LOOPS side meeting on Tuesday 08:30, Orchard Room
X-BeenThere: loops@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Local Optimizations on Path Segments <loops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/loops>, <mailto:loops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/loops/>
List-Post: <mailto:loops@ietf.org>
List-Help: <mailto:loops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/loops>, <mailto:loops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 20 Dec 2019 01:36:30 -0000

--_000_da8da93a58d048d2b8a7dcb0663b881ehuaweicom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SGkgQ29saW4sDQoNCk5vdyB3ZSBzeW5jZWQg4pi6DQoNCkl0IHNlZW1zIGVncmVzcyBuZWVkcyB0
byBrbm93IHRoZSBmb3J3YXJkIFJUVCB0byBtYWtlIGEgZ29vZCBsb2dpYyBvZiB0aGUgcmV0cmFu
c21pc3Npb24gcmVxdWVzdHMsIHRoZSBSVFQgbmVlZHMgdG8gYmUgY29tbXVuaWNhdGVkIGZyb20g
aW5ncmVzcywgaXQgaXMgbm9uLXRyaXZpYWx+fg0KDQpUaGFua3MNCkpvZQ0KDQpGcm9tOiBDb2xp
biBQZXJraW5zIFttYWlsdG86Y3NwQGNzcGVya2lucy5vcmddDQpTZW50OiBGcmlkYXksIERlY2Vt
YmVyIDIwLCAyMDE5IDEyOjUxIEFNDQpUbzogWmhvdXhpbmd3YW5nIChKb2UpIDx6aG91eGluZ3dh
bmdAaHVhd2VpLmNvbT4NCkNjOiBMaXlpemhvdSA8bGl5aXpob3VAaHVhd2VpLmNvbT47IENhcnN0
ZW4gQm9ybWFubiA8Y2Fib0B0emkub3JnPjsgbG9vcHNAaWV0Zi5vcmc7IG53Y3JnQGlydGYub3Jn
DQpTdWJqZWN0OiBSZTogW0xPT1BTXSBbbndjcmddIElFVEYxMDY6IExPT1BTIHNpZGUgbWVldGlu
ZyBvbiBUdWVzZGF5IDA4OjMwLCBPcmNoYXJkIFJvb20NCg0KSm9lLA0KDQpJIHRoaW5rIHlvdSBt
aXN1bmRlcnN0b29kIG15IGVtYWlsLg0KDQpJIGRpZCBub3Qgc3VnZ2VzdCBzdGF0aWNhbGx5IGNv
bmZpZ3VyaW5nIHRoZSB0aW1lb3V0LiBUaGUgYXBwcm9wcmlhdGUgdmFsdWUgY2xlYXJseSBkZXBl
bmRzIG9uIHRoZSBSVFQuIExPT1BTIGNhbiBnaXZlIGd1aWRhbmNlIG9uIGhvdyBpdCByZWxhdGVz
IHRvIHRoZSBSVFQuDQoNCkkgYWxzbyBkaWQgbm90IHN1Z2dlc3Qgc2V0dGluZyBOIGF0IGJvdGgg
aW5ncmVzcyBhbmQgZWdyZXNzLiBIb3cgb2Z0ZW4gdG8gcmVxdWVzdCByZXRyYW5zbWlzc2lvbnMg
aXMgYSBwdXJlbHkgbG9jYWwgZGVjaXNpb24gYXQgdGhlIGVncmVzcy4gVGhlIGluZ3Jlc3MgZG9l
cyBub3QgbmVlZCB0byBrbm93LCBvciBjYXJlLCBob3cgb2Z0ZW4gdGhlIGVncmVzcyBtaWdodCBz
ZW5kIHJldHJhbnNtaXNzaW9uIHJlcXVlc3RzLg0KDQpDb2xpbg0KDQoNCg0KDQpPbiAxOSBEZWMg
MjAxOSwgYXQgMTE6MzUsIFpob3V4aW5nd2FuZyAoSm9lKSA8emhvdXhpbmd3YW5nQGh1YXdlaS5j
b208bWFpbHRvOnpob3V4aW5nd2FuZ0BodWF3ZWkuY29tPj4gd3JvdGU6DQoNCkhpLA0KDQpTdGF0
aWNhbGx5IGNvbmZpZ3VyaW5nIGEgdGltZW91dCAodGhlIHBlcmlvZCB0aGF0IHRoZSBpbmdyZXNz
IHdpbGwga2VlcCB0aGUgcGFja2V0cyBpbiBpdHMgYnVmZmVyKSBpcyBhIGxpdHRsZSBiaXQgZGFu
Z2Vyb3VzLCBiZWNhdXNlIHRoZSBsb2NhbCBSVFQgbWF5IHZhcnkgYW5kIGlzIG5vdCBrbm93biBp
biBhZHZhbmNlLiBJZiB0aGUgdGltZW91dCB2YWx1ZSBpcyBzaG9ydGVyIHRoYW4gdGhlIHJlYWwg
bG9jYWwgUlRULCBpdCB3aWxsIGJlIGJhZCBmb3IgTE9PUFMuIFNvIHNldHRpbmcgYW4gTiAoaG93
IG1hbnkgdGltZXMgYSBsb3N0IHBhY2tldCB0byBiZSByZXRyYW5zbWl0dGVkLCBvbmNlIHBlciBS
VFQpIGluIHRoZSBzeXN0ZW0gaXMgbW9yZSBwcmVmZXJyZWQuDQpUbyBzaW1wbGlmeSB0aGUgbG9n
aWMsIEkgZG9u4oCZdCB0aGluayBzZXR0aW5nIE4gYXQgYm90aCBpbmdyZXNzIGFuZCBlZ3Jlc3Mg
c2lkZSBpcyBhIGdvb2QgaWRlYSwgYmVjYXVzZSBpdCB3aWxsIG1ha2UgdGhpbmdzIGNvbXBsaWNh
dGVkIGFuZCBOIG1heSBiZSBzZXQgaW5jb25zaXN0ZW50bHkgYnkgbWlzdGFrZSwgc28gc2V0dGlu
ZyBOIGFuZCB0cmlnZ2VyaW5nL3Rlcm1pbmF0aW5nIHRoZSByZXRyYW5zbWlzc2lvbiBvbmx5IGF0
IG9uZSBzaWRlIGlzIGJldHRlci4NCg0KU29tZSB0aGlua2luZyBvZiB0aGlzOg0KMSkgU2V0IE4g
YW5kIG1ha2UgZGVjaXNpb24gYXQgaW5ncmVzcyBvbmx5DQogICBQcm9zOiBpbmdyZXNzIGtub3dz
IFJUVCwgaXQgd2lsbCBwZXJmb3JtIE4gdGltZXMgcmV0cmFuc21pc3Npb24gYW5kIG9uY2UgcGVy
IFJUVCB3ZWxsLCBhbmQgZXhwaXJlcyB0aGUgcGFja2V0cyBhZnRlciBOKlJUVCBmcm9tIHRoZSBi
dWZmZXINCiAgIENvbnM6IGVncmVzcyBuZWVkcyB0byBrbm93IE4gYW5kIFJUVCwgYW5kIHN0aWxs
IGhhdmUgYSBsb2dpYyB0byBzdG9wIGFza2luZyBmb3IgdGhlIGxvc3QgcGFja2V0cw0KDQoyKSBT
ZXQgTiBhbmQgbWFrZSBkZWNpc2lvbiBhdCBlZ3Jlc3Mgb25seQ0KICAgUHJvczogbmVhcmx5IG5v
IGxvZ2ljIGF0IGluZ3Jlc3MsIGVncmVzcyBrZWVwcyBhc2tpbmcgZm9yIGxvc3QgcGFja2V0cyBi
eSBOQUNLLCBhbmQgYWZ0ZXIgTipSVFQgKGNvbW11bmljYXRlZCBieSBpbmdyZXNzKSBpdCB3aWxs
IHByZXRlbmQgaXQgaGFzIGdvdCB0aGVtIGFuZCBzZW5kIEFDSyB0byBpbmdyZXNzIHRvIGxldCBp
dCBjbGVhciB0aGUgcGFja2V0cyBmcm9tIHJldHJhbnNtaXNzaW9uIGJ1ZmZlci4gSW5ncmVzcyBq
dXN0IG5lZWRzIGEgYmlnIGVub3VnaCBidWZmZXIgdG8gaG9sZCB0aGUgcGFja2V0cyB3YWl0aW5n
IHRvIGJlIHJldHJhbnNtaXR0ZWQsIGFuZCBvbmNlIHRoZSBidWZmZXIgaXMgZnVsbCB0aGUgbmV3
IHBhY2tldCBqdXN0IHJlcGxhY2UgdGhlIGVhcmxpZXN0IG9uZQ0KICAgQ29uczogZm9yd2FyZCBS
VFQgbmVlZHMgdG8gYmUgY29tbXVuaWNhdGVkIGZyb20gaW5ncmVzcyB0byBlZ3Jlc3MNCg0KVGhh
bmtzDQpKb2UNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IExPT1BTIFttYWls
dG86bG9vcHMtYm91bmNlc0BpZXRmLm9yZ10gT24gQmVoYWxmIE9mIENvbGluIFBlcmtpbnMNClNl
bnQ6IFR1ZXNkYXksIERlY2VtYmVyIDE3LCAyMDE5IDc6MzMgUE0NClRvOiBMaXlpemhvdSA8bGl5
aXpob3VAaHVhd2VpLmNvbTxtYWlsdG86bGl5aXpob3VAaHVhd2VpLmNvbT4+DQpDYzogQ2Fyc3Rl
biBCb3JtYW5uIDxjYWJvQHR6aS5vcmc8bWFpbHRvOmNhYm9AdHppLm9yZz4+OyBsb29wc0BpZXRm
Lm9yZzxtYWlsdG86bG9vcHNAaWV0Zi5vcmc+OyBud2NyZ0BpcnRmLm9yZzxtYWlsdG86bndjcmdA
aXJ0Zi5vcmc+DQpTdWJqZWN0OiBSZTogW0xPT1BTXSBbbndjcmddIElFVEYxMDY6IExPT1BTIHNp
ZGUgbWVldGluZyBvbiBUdWVzZGF5IDA4OjMwLCBPcmNoYXJkIFJvb20NCg0KSGksDQoNCklzIG5v
dCB0aGUgaW5ncmVzcyBsb2dpYyB0aGUgc2FtZSBmb3Igc2luZ2xlIG9yIG11bHRpcGxlIHJldHJh
bnNtaXNzaW9ucz8gVGhlIGluZ3Jlc3Mgbm9kZSB3aWxsIG1haW50YWluIGEgcXVldWUgb2YgcGFj
a2V0cyB0aGF0IGhhdmUgYmVlbiBzZW50IGFuZCBjYW4gYmUgcmV0cmFuc21pdHRlZC4gUGFja2V0
cyBleHBpcmUgZnJvbSB0aGUgcXVldWUgaWYgYW4gQUNLIGZvciB0aGVpciBzZXF1ZW5jZSBudW1i
ZXIgaXMgcmVjZWl2ZWQsIG9yIGFmdGVyIGEgY2VydGFpbiBhbW91bnQgb2YgdGltZS4gUGFja2V0
cyBhcmUgcmV0cmFuc21pdHRlZCBpZiBhIHJldHJhbnNtaXNzaW9uIHJlcXVlc3QgYXJyaXZlcyBi
ZWZvcmUgdGhleSBleHBpcmUuIFlvdSBuZWVkIHRoZSB0aW1lb3V0IHRvIGV4cGlyZSBwYWNrZXRz
IGluIGNhc2UgQUNLcyBhcmUgbG9zdCwgc28gd2hldGhlciB0aGUgaW5ncmVzcyBzdXBwb3J0cyBz
aW5nbGUgb3IgbXVsdGlwbGUgcmV0cmFuc21pc3Npb25zIGlzIGp1c3QgYSBjYXNlIG9mIGNvbmZp
Z3VyaW5nIHRoZSB0aW1lb3V0Lg0KDQpJZiB5b3Ugc29tZWhvdyBjb21tdW5pY2F0ZSB0aGF0IHRp
bWVvdXQgdG8gdGhlIGVncmVzcyBub2RlLCB0aGVuIGl0IGNhbiBtYWtlIGEgbG9jYWwgZGVjaXNp
b24gb24gd2hldGhlciB0byBtYWtlIG9uZSBvciBtb3JlIHJldHJhbnNtaXNzaW9uIHJlcXVlc3Rz
IGZvciBhIGxvc3QgcGFja2V0LiBUaGlzIHdvdWxkIGdpdmUgdGhlIGVncmVzcyBmbGV4aWJpbGl0
eSB0byBwaWNrIGFuIGFwcHJvcHJpYXRlIHJldHJhbnNtaXNzaW9uIHJlcXVlc3Qgc3RyYXRlZ3kg
d2l0aG91dCBuZWVkaW5nIHRvIHN0YW5kYXJkaXNlIHdoYXQgdGhhdCBzdHJhdGVneSBpcy4gTE9P
UFMgd291bGQgZGVmaW5lIHRoZSBtZWNoYW5pc20gYW5kIGdpdmUgZ3VpZGFuY2Ugb24gY2hvaWNl
IG9mIHRoZSBpbmdyZXNzIGV4cGlyYXRpb24gdGltZW91dC4NCg0KQ29saW4NCg0KDQoNCg0KT24g
MTcgRGVjIDIwMTksIGF0IDA0OjE0LCBMaXlpemhvdSA8bGl5aXpob3VAaHVhd2VpLmNvbTxtYWls
dG86bGl5aXpob3VAaHVhd2VpLmNvbT4+IHdyb3RlOg0KDQpIaSBDYXJzdGVuIGFuZCBhbGwsDQoN
ClRoYW5rcyBmb3IgcHV0dGluZyBhbGwgdGhlc2UgdG9nZXRoZXIuDQoNCkkgd291bGQgbGlrZSB0
byBoYXZlIGEgZm9sbG93LXVwIGRpc2N1c3Npb24gcmVnYXJkaW5nIHNpbmdsZSByZXRyYW5zbWlz
c2lvbiB2cy4gbXVsdGlwbGUgcmV0cmFuc21pc3Npb24uDQoNClRoZXJlIGlzIGEgcG90ZW50aWFs
IGNob2ljZSB0byBkZXNpZ24gYSBzaW5nbGUgcmV0cmFuc21pc3Npb24gbW9kZSAqb25seSogbWVj
aGFuaXNtLiBUaGUgcmVhc29uIHdlIG1pZ2h0IHdhbnQgdG8gZG8gaXQgaXMgdGhlIGRlc2lnbiBp
cyBlYXNpZXIgY29tcGFyaW5nIHdpdGggYSBnZW5lcmljIHJldHJhbnNtaXNzaW9uIG1lY2hhbmlz
bSBhbGxvd2luZyBib3RoIHNpbmdsZSBvciBtdWx0aXBsZSByZXRyYW5zbWlzc2lvbiBieSBwYXJh
bWV0ZXIgY29uZmlndXJhdGlvbi4NCg0KRm9yIGV4YW1wbGUsICBMT09QUyBlZ3Jlc3MgY2FuIG1h
cmsgYSBsb3N0IHBhY2tldCBkaXJlY3RseSBhcyAicmVjZWl2ZWQiIGFmdGVyIGl0IGZlZWRiYWNr
cyBhIGZldyBBQ0tzIHRvIGluZGljYXRlIGEgbG9zdCBwYWNrZXQuIEluZ3Jlc3MgcmVtb3ZlcyB0
aGUgcGFja2V0IGZyb20gaXRzIGNhY2hlIGFmdGVyIGEgc2luZ2xlIHJldHJhbnNtaXNzaW9uLiBP
bmNlIHRoZSByZXRyYW5zbWl0dGVkIHBhY2tldCByZWFjaGVzIHRoZSBlZ3Jlc3MsIGVncmVzcyBz
aW1wbHkgZm9yd2FyZHMgaXQuIFN1Y2ggYSBtZWNoYW5pc20gb25seSB3b3JrcyBmb3Igc2luZ2xl
IHJldHJhbnNtaXNzaW9uLg0KSW4gdGhpcyB3YXksIGVncmVzcyBoYXMgYSBzaW1wbGUgbG9naWMg
dG8gZGVjaWRlIHdoZW4gdG8gc3RvcCBzZW5kaW5nIHRoZSBpbmRpY2F0aW9uIGFib3V0IGEgImxv
c3QiIHBhY2tldC4gIEFuZCB0aGUgaW5ncmVzcyBkb2VzIG5vdCBuZWVkIGEgbG9naWMgdG8gY29u
dHJvbCB3aGV0aGVyIGFuZCB3aGVuIDJuZCBhbmQgbGF0ZXIgcmV0cmFuc21pc3Npb25zIHNob3Vs
ZCBiZSBwZXJmb3JtZWQuDQoNCkluIG11bHRpcGxlIHJldHJhbnNtaXNzaW9uLCBpdCBoYXMgdG8g
YmUgbW9yZSBjYXJlZnVsbHkgZGVzaWduZWQgdG8gc3luYyB1cCB3aGVuIHRoZSBlZ3Jlc3MgZ2l2
ZXMgdXAgYXNraW5nIGZvciByZXRyYW5zbWlzc2lvbiBhbmQgIHdoZW4gdGhlIGluZ3Jlc3MgY2Fu
IHJlbW92ZSB0aGUgcGFja2V0IGZyb20gaXRzIGNhY2hlIHNpbmNlIG5vIG1vcmUgcmV0cmFuc21p
c3Npb24gaXMgcmVxdWlyZWQuICBBcyBMT09QUyBkb2VzIG5vdCBwcm92aWRlIDEwMCUgcmVsaWFi
aWxpdHksIG5vcm1hbGx5IGVncmVzcyBzaWRlIHNob3VsZCBiZSB0aGUgb25lIGRldGVybWluZXMg
d2hlbiB0byBnaXZlIHVwIGFza2luZyBmb3IgcmV0cmFuc21pc3Npb24uIFRoZW4gZWdyZXNzIG5l
ZWRzIHRvIGtub3cgdGhlIGxvY2FsIGZvcndhcmQgUlRUIGlmIG11bHRpcGxlIHJldHJhbnNtaXNz
aW9uIGlzIGV4cGVjdGVkLg0KDQpTbyBzaW5nbGUgcmV0cmFuc21pc3Npb24gKm9ubHkqIGNhbiBi
ZSB3b3J0aCBjb25zaWRlcmluZy4gSXQgaXMgYSBkZXNpZ24gY2hvaWNlIG1vcmUgdGhhbiBhbiBp
bXBsZW1lbnRhdGlvbiBjaG9pY2UgdG8gbWUuDQpJZiB0aGVyZSBpcyBhIHNpbXBsZSBhbmQgZWZm
aWNpZW50IHdheSB0byB1bmlmeSBib3RoLCBJIHdvdWxkIGJlIG1vcmUgdGhhbiBoYXBweSB0byBs
ZWFybi4NCg0KVGhhbmtzLA0KWWl6aG91DQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpG
cm9tOiBud2NyZyBbbWFpbHRvOm53Y3JnLWJvdW5jZXNAaXJ0Zi5vcmddIE9uIEJlaGFsZiBPZiBD
YXJzdGVuIEJvcm1hbm4NClNlbnQ6IE1vbmRheSwgRGVjZW1iZXIgMTYsIDIwMTkgNDoyMiBBTQ0K
VG86IGxvb3BzQGlldGYub3JnPG1haWx0bzpsb29wc0BpZXRmLm9yZz4NCkNjOiBud2NyZ0BpcnRm
Lm9yZzxtYWlsdG86bndjcmdAaXJ0Zi5vcmc+DQpTdWJqZWN0OiBSZTogW253Y3JnXSBbTE9PUFNd
IElFVEYxMDY6IExPT1BTIHNpZGUgbWVldGluZyBvbiBUdWVzZGF5IDA4OjMwLCBPcmNoYXJkIFJv
b20NCg0KVGhhbmtzIGFnYWluIGV2ZXJ5b25lIGZvciB0aGUgcGFydGljaXBhdGlvbiBhdCB0aGUg
TE9PUFMgc2lkZSBtZWV0aW5nIGFuZCBpbiBvdXIgc2xvdCBhdCB0aGUgTldDUkcgbWVldGluZy4N
Cg0KSSBoYXZlIGNvbXBpbGVkIG1vcmUgZGV0YWlsZWQgbm90ZXMsIHdpdGggbGlua3MgdG8vY29w
aWVzIG9mIHRoZSBtZWV0aW5nIG1hdGVyaWFscywgYXQNCg0KaHR0cHM6Ly9naXRodWIuY29tL2xv
b3BzLXdnL2lldGYxMDYNCg0KUGxlYXNlIGRvIGhhdmUgYSBsb29rIGF0IHRoZSBub3Rlcywgc3Bl
Y2lmaWNhbGx5IFsxXSBhbmQgWzJdLCBhbmQgc2VuZCBjb3JyZWN0aW9ucyBhbmQgYWRkaXRpb25z
LiAgQWxzbywgdGhlcmUgd2VyZSBhIGZldyBpdGVtcyBpbiB0aGUgTldDUkcgZGlzY3Vzc2lvbiB3
aGVyZSB0aGVyZSBtYXkgYmUgcmVzdWx0cyB0aGF0IHdlIGFscmVhZHkgY2FuIHBvaW50IHRvOyBh
cyBNYXJpZS1Kb3NlIHNhaWQsIHBsZWFzZSBzZW5kIHRoZW0gdG8gYm90aCBtYWlsaW5nIGxpc3Rz
Lg0KDQpHcsO8w59lLCBDYXJzdGVuDQoNClsxXTogaHR0cHM6Ly9naXRodWIuY29tL2xvb3BzLXdn
L2lldGYxMDYvYmxvYi9tYXN0ZXIvaWV0ZjEwNi1sb29wcy1zaWRlLW1lZXRpbmcubWQNClsyXTog
aHR0cHM6Ly9naXRodWIuY29tL2xvb3BzLXdnL2lldGYxMDYvYmxvYi9tYXN0ZXIvaWV0ZjEwNi1u
d2NyZy1sb29wcy5tZA0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXw0KbndjcmcgbWFpbGluZyBsaXN0DQpud2NyZ0BpcnRmLm9yZzxtYWlsdG86bndjcmdA
aXJ0Zi5vcmc+DQpodHRwczovL3d3dy5pcnRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL253Y3JnDQot
LQ0KTE9PUFMgbWFpbGluZyBsaXN0DQpMT09QU0BpZXRmLm9yZzxtYWlsdG86TE9PUFNAaWV0Zi5v
cmc+DQpodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xvb3BzDQoNCg0KDQot
LQ0KQ29saW4gUGVya2lucw0KaHR0cHM6Ly9jc3BlcmtpbnMub3JnLw0KDQoNCg0KDQotLQ0KTE9P
UFMgbWFpbGluZyBsaXN0DQpMT09QU0BpZXRmLm9yZzxtYWlsdG86TE9PUFNAaWV0Zi5vcmc+DQpo
dHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xvb3BzDQoNCg==

--_000_da8da93a58d048d2b8a7dcb0663b881ehuaweicom_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6eD0idXJuOnNjaGVtYXMtbWljcm9z
b2Z0LWNvbTpvZmZpY2U6ZXhjZWwiIHhtbG5zOm09Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5j
b20vb2ZmaWNlLzIwMDQvMTIvb21tbCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1o
dG1sNDAiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9
InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+DQo8bWV0YSBuYW1lPSJHZW5lcmF0b3IiIGNvbnRl
bnQ9Ik1pY3Jvc29mdCBXb3JkIDE1IChmaWx0ZXJlZCBtZWRpdW0pIj4NCjxzdHlsZT48IS0tDQov
KiBGb250IERlZmluaXRpb25zICovDQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OldpbmdkaW5n
czsNCglwYW5vc2UtMTo1IDAgMCAwIDAgMCAwIDAgMCAwO30NCkBmb250LWZhY2UNCgl7Zm9udC1m
YW1pbHk65a6L5L2TOw0KCXBhbm9zZS0xOjIgMSA2IDAgMyAxIDEgMSAxIDE7fQ0KQGZvbnQtZmFj
ZQ0KCXtmb250LWZhbWlseToiQ2FtYnJpYSBNYXRoIjsNCglwYW5vc2UtMToyIDQgNSAzIDUgNCA2
IDMgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsNCglwYW5vc2UtMToy
IDE1IDUgMiAyIDIgNCAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OiJcQOWui+S9
kyI7DQoJcGFub3NlLTE6MiAxIDYgMCAzIDEgMSAxIDEgMTt9DQpAZm9udC1mYWNlDQoJe2ZvbnQt
ZmFtaWx5OkluY29uc29sYXRhOw0KCXBhbm9zZS0xOjAgMCAwIDAgMCAwIDAgMCAwIDA7fQ0KLyog
U3R5bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29O
b3JtYWwNCgl7bWFyZ2luOjBjbTsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXpl
OjEyLjBwdDsNCglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIixzZXJpZjt9DQphOmxpbmss
IHNwYW4uTXNvSHlwZXJsaW5rDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpibHVl
Ow0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KYTp2aXNpdGVkLCBzcGFuLk1zb0h5cGVy
bGlua0ZvbGxvd2VkDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpwdXJwbGU7DQoJ
dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpzcGFuLmFwcGxlLWNvbnZlcnRlZC1zcGFjZQ0K
CXttc28tc3R5bGUtbmFtZTphcHBsZS1jb252ZXJ0ZWQtc3BhY2U7fQ0Kc3Bhbi5FbWFpbFN0eWxl
MTgNCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwtcmVwbHk7DQoJZm9udC1mYW1pbHk6IkNhbGli
cmkiLHNhbnMtc2VyaWY7DQoJY29sb3I6IzFGNDk3RDt9DQouTXNvQ2hwRGVmYXVsdA0KCXttc28t
c3R5bGUtdHlwZTpleHBvcnQtb25seTsNCglmb250LXNpemU6MTAuMHB0O30NCkBwYWdlIFdvcmRT
ZWN0aW9uMQ0KCXtzaXplOjYxMi4wcHQgNzkyLjBwdDsNCgltYXJnaW46NzIuMHB0IDkwLjBwdCA3
Mi4wcHQgOTAuMHB0O30NCmRpdi5Xb3JkU2VjdGlvbjENCgl7cGFnZTpXb3JkU2VjdGlvbjE7fQ0K
LS0+PC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlZGVmYXVsdHMgdjpl
eHQ9ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+DQo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0
ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlbGF5b3V0IHY6ZXh0PSJlZGl0Ij4NCjxvOmlkbWFwIHY6
ZXh0PSJlZGl0IiBkYXRhPSIxIiAvPg0KPC9vOnNoYXBlbGF5b3V0PjwveG1sPjwhW2VuZGlmXS0t
Pg0KPC9oZWFkPg0KPGJvZHkgbGFuZz0iRU4tVVMiIGxpbms9ImJsdWUiIHZsaW5rPSJwdXJwbGUi
Pg0KPGRpdiBjbGFzcz0iV29yZFNlY3Rpb24xIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDss
c2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5IaSBDb2xpbiwNCjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj48
bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNh
bnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+Tm93IHdlIHN5bmNlZA0KPC9zcGFuPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OldpbmdkaW5ncztjb2xvcjojMUY0OTdEIj5K
PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nh
bGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj48bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+
PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90Oyxz
YW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPkl0IHNlZW1zIGVncmVzcyBuZWVkcyB0byBrbm93IHRo
ZSBmb3J3YXJkIFJUVCB0byBtYWtlIGEgZ29vZCBsb2dpYyBvZiB0aGUgcmV0cmFuc21pc3Npb24g
cmVxdWVzdHMsIHRoZSBSVFQgbmVlZHMgdG8gYmUgY29tbXVuaWNhdGVkIGZyb20gaW5ncmVzcywg
aXQgaXMgbm9uLXRyaXZpYWx+fjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nh
bGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwv
c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEx
LjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFG
NDk3RCI+VGhhbmtzPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZx
dW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPkpvZTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQt
ZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj48bzpw
PiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2Pg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7
Ym9yZGVyLXRvcDpzb2xpZCAjRTFFMUUxIDEuMHB0O3BhZGRpbmc6My4wcHQgMGNtIDBjbSAwY20i
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5Gcm9tOjwvc3Bhbj48
L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJy
aSZxdW90OyxzYW5zLXNlcmlmIj4gQ29saW4gUGVya2lucyBbbWFpbHRvOmNzcEBjc3BlcmtpbnMu
b3JnXQ0KPGJyPg0KPGI+U2VudDo8L2I+IEZyaWRheSwgRGVjZW1iZXIgMjAsIDIwMTkgMTI6NTEg
QU08YnI+DQo8Yj5Ubzo8L2I+IFpob3V4aW5nd2FuZyAoSm9lKSAmbHQ7emhvdXhpbmd3YW5nQGh1
YXdlaS5jb20mZ3Q7PGJyPg0KPGI+Q2M6PC9iPiBMaXlpemhvdSAmbHQ7bGl5aXpob3VAaHVhd2Vp
LmNvbSZndDs7IENhcnN0ZW4gQm9ybWFubiAmbHQ7Y2Fib0B0emkub3JnJmd0OzsgbG9vcHNAaWV0
Zi5vcmc7IG53Y3JnQGlydGYub3JnPGJyPg0KPGI+U3ViamVjdDo8L2I+IFJlOiBbTE9PUFNdIFtu
d2NyZ10gSUVURjEwNjogTE9PUFMgc2lkZSBtZWV0aW5nIG9uIFR1ZXNkYXkgMDg6MzAsIE9yY2hh
cmQgUm9vbTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkpv
ZSw8bzpwPjwvbzpwPjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNw
OzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkkgdGhpbmsg
eW91IG1pc3VuZGVyc3Rvb2QgbXkgZW1haWwuJm5ic3A7PG86cD48L286cD48L3A+DQo8ZGl2Pg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5JIGRpZCBub3Qgc3VnZ2VzdCBzdGF0aWNhbGx5IGNvbmZp
Z3VyaW5nIHRoZSB0aW1lb3V0LiBUaGUgYXBwcm9wcmlhdGUgdmFsdWUgY2xlYXJseSBkZXBlbmRz
IG9uIHRoZSBSVFQuIExPT1BTIGNhbiBnaXZlIGd1aWRhbmNlIG9uIGhvdyBpdCByZWxhdGVzIHRv
IHRoZSBSVFQuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPkkgYWxzbyBkaWQgbm90IHN1Z2dlc3Qgc2V0dGluZyBOIGF0IGJvdGggaW5ncmVzcyBh
bmQgZWdyZXNzLiBIb3cgb2Z0ZW4gdG8gcmVxdWVzdCByZXRyYW5zbWlzc2lvbnMgaXMgYSBwdXJl
bHkgbG9jYWwgZGVjaXNpb24gYXQgdGhlIGVncmVzcy4gVGhlIGluZ3Jlc3MgZG9lcyBub3QgbmVl
ZCB0byBrbm93LCBvciBjYXJlLCBob3cgb2Z0ZW4gdGhlIGVncmVzcyBtaWdodCBzZW5kIHJldHJh
bnNtaXNzaW9uIHJlcXVlc3RzLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj5Db2xpbjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxkaXY+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48YnI+DQo8YnI+DQo8bzpwPjwvbzpwPjwvcD4NCjxibG9ja3F1b3RlIHN0
eWxlPSJtYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1ib3R0b206NS4wcHQiPg0KPGRpdj4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPk9uIDE5IERlYyAyMDE5LCBhdCAxMTozNSwgWmhvdXhpbmd3YW5nIChK
b2UpICZsdDs8YSBocmVmPSJtYWlsdG86emhvdXhpbmd3YW5nQGh1YXdlaS5jb20iPnpob3V4aW5n
d2FuZ0BodWF3ZWkuY29tPC9hPiZndDsgd3JvdGU6PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPGRpdj4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7SW5jb25zb2xhdGEmcXVvdDssc2VyaWYiPkhpLDxicj4NCjxicj4NClN0YXRpY2FsbHkgY29u
ZmlndXJpbmcgYSB0aW1lb3V0ICh0aGUgcGVyaW9kIHRoYXQgdGhlIGluZ3Jlc3Mgd2lsbCBrZWVw
IHRoZSBwYWNrZXRzIGluIGl0cyBidWZmZXIpIGlzIGEgbGl0dGxlIGJpdCBkYW5nZXJvdXMsIGJl
Y2F1c2UgdGhlIGxvY2FsIFJUVCBtYXkgdmFyeSBhbmQgaXMgbm90IGtub3duIGluIGFkdmFuY2Uu
IElmIHRoZSB0aW1lb3V0IHZhbHVlIGlzIHNob3J0ZXIgdGhhbiB0aGUgcmVhbCBsb2NhbCBSVFQs
IGl0IHdpbGwgYmUgYmFkDQogZm9yIExPT1BTLiBTbyBzZXR0aW5nIGFuIE4gKGhvdyBtYW55IHRp
bWVzIGEgbG9zdCBwYWNrZXQgdG8gYmUgcmV0cmFuc21pdHRlZCwgb25jZSBwZXIgUlRUKSBpbiB0
aGUgc3lzdGVtIGlzIG1vcmUgcHJlZmVycmVkLjxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQt
c3BhY2UiPiZuYnNwOzwvc3Bhbj48YnI+DQpUbyBzaW1wbGlmeSB0aGUgbG9naWMsIEkgZG9u4oCZ
dCB0aGluayBzZXR0aW5nIE4gYXQgYm90aCBpbmdyZXNzIGFuZCBlZ3Jlc3Mgc2lkZSBpcyBhIGdv
b2QgaWRlYSwgYmVjYXVzZSBpdCB3aWxsIG1ha2UgdGhpbmdzIGNvbXBsaWNhdGVkIGFuZCBOIG1h
eSBiZSBzZXQgaW5jb25zaXN0ZW50bHkgYnkgbWlzdGFrZSwgc28gc2V0dGluZyBOIGFuZCB0cmln
Z2VyaW5nL3Rlcm1pbmF0aW5nIHRoZSByZXRyYW5zbWlzc2lvbiBvbmx5IGF0IG9uZSBzaWRlIGlz
DQogYmV0dGVyLjxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bh
bj48YnI+DQo8YnI+DQpTb21lIHRoaW5raW5nIG9mIHRoaXM6PGJyPg0KMSkgU2V0IE4gYW5kIG1h
a2UgZGVjaXNpb24gYXQgaW5ncmVzcyBvbmx5PGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7UHJvczog
aW5ncmVzcyBrbm93cyBSVFQsIGl0IHdpbGwgcGVyZm9ybSBOIHRpbWVzIHJldHJhbnNtaXNzaW9u
IGFuZCBvbmNlIHBlciBSVFQgd2VsbCwgYW5kIGV4cGlyZXMgdGhlIHBhY2tldHMgYWZ0ZXIgTipS
VFQgZnJvbSB0aGUgYnVmZmVyPGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Q29uczogZWdyZXNzIG5l
ZWRzIHRvIGtub3cgTiBhbmQgUlRULCBhbmQgc3RpbGwgaGF2ZSBhIGxvZ2ljIHRvIHN0b3AgYXNr
aW5nIGZvciB0aGUgbG9zdCBwYWNrZXRzPHNwYW4gY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFj
ZSI+Jm5ic3A7PC9zcGFuPjxicj4NCjxicj4NCjIpIFNldCBOIGFuZCBtYWtlIGRlY2lzaW9uIGF0
IGVncmVzcyBvbmx5PGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7UHJvczogbmVhcmx5IG5vIGxvZ2lj
IGF0IGluZ3Jlc3MsIGVncmVzcyBrZWVwcyBhc2tpbmcgZm9yIGxvc3QgcGFja2V0cyBieSBOQUNL
LCBhbmQgYWZ0ZXIgTipSVFQgKGNvbW11bmljYXRlZCBieSBpbmdyZXNzKSBpdCB3aWxsIHByZXRl
bmQgaXQgaGFzIGdvdCB0aGVtIGFuZCBzZW5kIEFDSyB0byBpbmdyZXNzIHRvIGxldCBpdCBjbGVh
ciB0aGUgcGFja2V0cyBmcm9tIHJldHJhbnNtaXNzaW9uIGJ1ZmZlci4gSW5ncmVzcyBqdXN0IG5l
ZWRzIGENCiBiaWcgZW5vdWdoIGJ1ZmZlciB0byBob2xkIHRoZSBwYWNrZXRzIHdhaXRpbmcgdG8g
YmUgcmV0cmFuc21pdHRlZCwgYW5kIG9uY2UgdGhlIGJ1ZmZlciBpcyBmdWxsIHRoZSBuZXcgcGFj
a2V0IGp1c3QgcmVwbGFjZSB0aGUgZWFybGllc3Qgb25lPGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7
Q29uczogZm9yd2FyZCBSVFQgbmVlZHMgdG8gYmUgY29tbXVuaWNhdGVkIGZyb20gaW5ncmVzcyB0
byBlZ3Jlc3M8YnI+DQo8YnI+DQpUaGFua3M8YnI+DQpKb2U8YnI+DQo8YnI+DQotLS0tLU9yaWdp
bmFsIE1lc3NhZ2UtLS0tLTxicj4NCkZyb206IExPT1BTIFs8L3NwYW4+PGEgaHJlZj0ibWFpbHRv
Omxvb3BzLWJvdW5jZXNAaWV0Zi5vcmciPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7SW5jb25zb2xhdGEmcXVvdDssc2VyaWYiPm1haWx0bzpsb29wcy1ib3Vu
Y2VzQGlldGYub3JnPC9zcGFuPjwvYT48c3BhbiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQt
ZmFtaWx5OiZxdW90O0luY29uc29sYXRhJnF1b3Q7LHNlcmlmIj5dIE9uIEJlaGFsZiBPZiBDb2xp
biBQZXJraW5zPGJyPg0KU2VudDogVHVlc2RheSwgRGVjZW1iZXIgMTcsIDIwMTkgNzozMyBQTTxi
cj4NClRvOiBMaXlpemhvdSAmbHQ7PC9zcGFuPjxhIGhyZWY9Im1haWx0bzpsaXlpemhvdUBodWF3
ZWkuY29tIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0lu
Y29uc29sYXRhJnF1b3Q7LHNlcmlmIj5saXlpemhvdUBodWF3ZWkuY29tPC9zcGFuPjwvYT48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0luY29uc29sYXRhJnF1
b3Q7LHNlcmlmIj4mZ3Q7PGJyPg0KQ2M6IENhcnN0ZW4gQm9ybWFubiAmbHQ7PC9zcGFuPjxhIGhy
ZWY9Im1haWx0bzpjYWJvQHR6aS5vcmciPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7SW5jb25zb2xhdGEmcXVvdDssc2VyaWYiPmNhYm9AdHppLm9yZzwvc3Bh
bj48L2E+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWlseTomcXVvdDtJbmNv
bnNvbGF0YSZxdW90OyxzZXJpZiI+Jmd0Ozs8c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNw
YWNlIj4mbmJzcDs8L3NwYW4+PC9zcGFuPjxhIGhyZWY9Im1haWx0bzpsb29wc0BpZXRmLm9yZyI+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWlseTomcXVvdDtJbmNvbnNvbGF0
YSZxdW90OyxzZXJpZiI+bG9vcHNAaWV0Zi5vcmc8L3NwYW4+PC9hPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7SW5jb25zb2xhdGEmcXVvdDssc2VyaWYiPjs8
c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PC9zcGFuPjxh
IGhyZWY9Im1haWx0bzpud2NyZ0BpcnRmLm9yZyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjVw
dDtmb250LWZhbWlseTomcXVvdDtJbmNvbnNvbGF0YSZxdW90OyxzZXJpZiI+bndjcmdAaXJ0Zi5v
cmc8L3NwYW4+PC9hPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7SW5jb25zb2xhdGEmcXVvdDssc2VyaWYiPjxicj4NClN1YmplY3Q6IFJlOiBbTE9PUFNdIFtu
d2NyZ10gSUVURjEwNjogTE9PUFMgc2lkZSBtZWV0aW5nIG9uIFR1ZXNkYXkgMDg6MzAsIE9yY2hh
cmQgUm9vbTxicj4NCjxicj4NCkhpLDxicj4NCjxicj4NCklzIG5vdCB0aGUgaW5ncmVzcyBsb2dp
YyB0aGUgc2FtZSBmb3Igc2luZ2xlIG9yIG11bHRpcGxlIHJldHJhbnNtaXNzaW9ucz8gVGhlIGlu
Z3Jlc3Mgbm9kZSB3aWxsIG1haW50YWluIGEgcXVldWUgb2YgcGFja2V0cyB0aGF0IGhhdmUgYmVl
biBzZW50IGFuZCBjYW4gYmUgcmV0cmFuc21pdHRlZC4gUGFja2V0cyBleHBpcmUgZnJvbSB0aGUg
cXVldWUgaWYgYW4gQUNLIGZvciB0aGVpciBzZXF1ZW5jZSBudW1iZXIgaXMgcmVjZWl2ZWQsIG9y
IGFmdGVyDQogYSBjZXJ0YWluIGFtb3VudCBvZiB0aW1lLiBQYWNrZXRzIGFyZSByZXRyYW5zbWl0
dGVkIGlmIGEgcmV0cmFuc21pc3Npb24gcmVxdWVzdCBhcnJpdmVzIGJlZm9yZSB0aGV5IGV4cGly
ZS4gWW91IG5lZWQgdGhlIHRpbWVvdXQgdG8gZXhwaXJlIHBhY2tldHMgaW4gY2FzZSBBQ0tzIGFy
ZSBsb3N0LCBzbyB3aGV0aGVyIHRoZSBpbmdyZXNzIHN1cHBvcnRzIHNpbmdsZSBvciBtdWx0aXBs
ZSByZXRyYW5zbWlzc2lvbnMgaXMganVzdCBhIGNhc2Ugb2YgY29uZmlndXJpbmcNCiB0aGUgdGlt
ZW91dC48YnI+DQo8YnI+DQpJZiB5b3Ugc29tZWhvdyBjb21tdW5pY2F0ZSB0aGF0IHRpbWVvdXQg
dG8gdGhlIGVncmVzcyBub2RlLCB0aGVuIGl0IGNhbiBtYWtlIGEgbG9jYWwgZGVjaXNpb24gb24g
d2hldGhlciB0byBtYWtlIG9uZSBvciBtb3JlIHJldHJhbnNtaXNzaW9uIHJlcXVlc3RzIGZvciBh
IGxvc3QgcGFja2V0LiBUaGlzIHdvdWxkIGdpdmUgdGhlIGVncmVzcyBmbGV4aWJpbGl0eSB0byBw
aWNrIGFuIGFwcHJvcHJpYXRlIHJldHJhbnNtaXNzaW9uIHJlcXVlc3Qgc3RyYXRlZ3kNCiB3aXRo
b3V0IG5lZWRpbmcgdG8gc3RhbmRhcmRpc2Ugd2hhdCB0aGF0IHN0cmF0ZWd5IGlzLiBMT09QUyB3
b3VsZCBkZWZpbmUgdGhlIG1lY2hhbmlzbSBhbmQgZ2l2ZSBndWlkYW5jZSBvbiBjaG9pY2Ugb2Yg
dGhlIGluZ3Jlc3MgZXhwaXJhdGlvbiB0aW1lb3V0LjxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0
ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YnI+DQo8YnI+DQpDb2xpbjxicj4NCjxicj4NCjxicj4N
CjxiciBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTtmb250LXZhcmlhbnQtY2Fwczog
bm9ybWFsO3RleHQtYWxpZ246c3RhcnQ7LXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4O3dv
cmQtc3BhY2luZzowcHgiPg0KPGJyPg0KPC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPGJsb2NrcXVv
dGUgc3R5bGU9Im1hcmdpbi10b3A6NS4wcHQ7bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZx
dW90O0luY29uc29sYXRhJnF1b3Q7LHNlcmlmIj5PbiAxNyBEZWMgMjAxOSwgYXQgMDQ6MTQsIExp
eWl6aG91ICZsdDs8L3NwYW4+PGEgaHJlZj0ibWFpbHRvOmxpeWl6aG91QGh1YXdlaS5jb20iPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7SW5jb25zb2xhdGEm
cXVvdDssc2VyaWYiPmxpeWl6aG91QGh1YXdlaS5jb208L3NwYW4+PC9hPjxzcGFuIHN0eWxlPSJm
b250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7SW5jb25zb2xhdGEmcXVvdDssc2VyaWYi
PiZndDsNCiB3cm90ZTo8YnI+DQo8YnI+DQpIaSBDYXJzdGVuIGFuZCBhbGwsPGJyPg0KPGJyPg0K
VGhhbmtzIGZvciBwdXR0aW5nIGFsbCB0aGVzZSB0b2dldGhlci48c3BhbiBjbGFzcz0iYXBwbGUt
Y29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyPg0KPGJyPg0KSSB3b3VsZCBsaWtlIHRv
IGhhdmUgYSBmb2xsb3ctdXAgZGlzY3Vzc2lvbiByZWdhcmRpbmcgc2luZ2xlIHJldHJhbnNtaXNz
aW9uIHZzLiBtdWx0aXBsZSByZXRyYW5zbWlzc2lvbi48YnI+DQo8YnI+DQpUaGVyZSBpcyBhIHBv
dGVudGlhbCBjaG9pY2UgdG8gZGVzaWduIGEgc2luZ2xlIHJldHJhbnNtaXNzaW9uIG1vZGUgKm9u
bHkqIG1lY2hhbmlzbS4gVGhlIHJlYXNvbiB3ZSBtaWdodCB3YW50IHRvIGRvIGl0IGlzIHRoZSBk
ZXNpZ24gaXMgZWFzaWVyIGNvbXBhcmluZyB3aXRoIGEgZ2VuZXJpYyByZXRyYW5zbWlzc2lvbiBt
ZWNoYW5pc20gYWxsb3dpbmcgYm90aCBzaW5nbGUgb3IgbXVsdGlwbGUgcmV0cmFuc21pc3Npb24g
YnkgcGFyYW1ldGVyIGNvbmZpZ3VyYXRpb24uPGJyPg0KPGJyPg0KRm9yIGV4YW1wbGUsICZuYnNw
O0xPT1BTIGVncmVzcyBjYW4gbWFyayBhIGxvc3QgcGFja2V0IGRpcmVjdGx5IGFzICZxdW90O3Jl
Y2VpdmVkJnF1b3Q7IGFmdGVyIGl0IGZlZWRiYWNrcyBhIGZldyBBQ0tzIHRvIGluZGljYXRlIGEg
bG9zdCBwYWNrZXQuIEluZ3Jlc3MgcmVtb3ZlcyB0aGUgcGFja2V0IGZyb20gaXRzIGNhY2hlIGFm
dGVyIGEgc2luZ2xlIHJldHJhbnNtaXNzaW9uLiBPbmNlIHRoZSByZXRyYW5zbWl0dGVkIHBhY2tl
dCByZWFjaGVzIHRoZSBlZ3Jlc3MsIGVncmVzcw0KIHNpbXBseSBmb3J3YXJkcyBpdC4gU3VjaCBh
IG1lY2hhbmlzbSBvbmx5IHdvcmtzIGZvciBzaW5nbGUgcmV0cmFuc21pc3Npb24uICZuYnNwOzxi
cj4NCkluIHRoaXMgd2F5LCBlZ3Jlc3MgaGFzIGEgc2ltcGxlIGxvZ2ljIHRvIGRlY2lkZSB3aGVu
IHRvIHN0b3Agc2VuZGluZyB0aGUgaW5kaWNhdGlvbiBhYm91dCBhICZxdW90O2xvc3QmcXVvdDsg
cGFja2V0LiAmbmJzcDtBbmQgdGhlIGluZ3Jlc3MgZG9lcyBub3QgbmVlZCBhIGxvZ2ljIHRvIGNv
bnRyb2wgd2hldGhlciBhbmQgd2hlbiAybmQgYW5kIGxhdGVyIHJldHJhbnNtaXNzaW9ucyBzaG91
bGQgYmUgcGVyZm9ybWVkLjxicj4NCjxicj4NCkluIG11bHRpcGxlIHJldHJhbnNtaXNzaW9uLCBp
dCBoYXMgdG8gYmUgbW9yZSBjYXJlZnVsbHkgZGVzaWduZWQgdG8gc3luYyB1cCB3aGVuIHRoZSBl
Z3Jlc3MgZ2l2ZXMgdXAgYXNraW5nIGZvciByZXRyYW5zbWlzc2lvbiBhbmQgJm5ic3A7d2hlbiB0
aGUgaW5ncmVzcyBjYW4gcmVtb3ZlIHRoZSBwYWNrZXQgZnJvbSBpdHMgY2FjaGUgc2luY2Ugbm8g
bW9yZSByZXRyYW5zbWlzc2lvbiBpcyByZXF1aXJlZC4gJm5ic3A7QXMgTE9PUFMgZG9lcyBub3Qg
cHJvdmlkZSAxMDAlDQogcmVsaWFiaWxpdHksIG5vcm1hbGx5IGVncmVzcyBzaWRlIHNob3VsZCBi
ZSB0aGUgb25lIGRldGVybWluZXMgd2hlbiB0byBnaXZlIHVwIGFza2luZyBmb3IgcmV0cmFuc21p
c3Npb24uIFRoZW4gZWdyZXNzIG5lZWRzIHRvIGtub3cgdGhlIGxvY2FsIGZvcndhcmQgUlRUIGlm
IG11bHRpcGxlIHJldHJhbnNtaXNzaW9uIGlzIGV4cGVjdGVkLjxicj4NCjxicj4NClNvIHNpbmds
ZSByZXRyYW5zbWlzc2lvbiAqb25seSogY2FuIGJlIHdvcnRoIGNvbnNpZGVyaW5nLiBJdCBpcyBh
IGRlc2lnbiBjaG9pY2UgbW9yZSB0aGFuIGFuIGltcGxlbWVudGF0aW9uIGNob2ljZSB0byBtZS48
c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyPg0KSWYg
dGhlcmUgaXMgYSBzaW1wbGUgYW5kIGVmZmljaWVudCB3YXkgdG8gdW5pZnkgYm90aCwgSSB3b3Vs
ZCBiZSBtb3JlIHRoYW4gaGFwcHkgdG8gbGVhcm4uICZuYnNwOzxicj4NCjxicj4NClRoYW5rcyw8
YnI+DQpZaXpob3U8YnI+DQo8YnI+DQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLTxicj4NCkZy
b206IG53Y3JnIFs8L3NwYW4+PGEgaHJlZj0ibWFpbHRvOm53Y3JnLWJvdW5jZXNAaXJ0Zi5vcmci
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7SW5jb25zb2xh
dGEmcXVvdDssc2VyaWYiPm1haWx0bzpud2NyZy1ib3VuY2VzQGlydGYub3JnPC9zcGFuPjwvYT48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0luY29uc29sYXRh
JnF1b3Q7LHNlcmlmIj5dIE9uIEJlaGFsZiBPZiBDYXJzdGVuIEJvcm1hbm48YnI+DQpTZW50OiBN
b25kYXksIERlY2VtYmVyIDE2LCAyMDE5IDQ6MjIgQU08YnI+DQpUbzogPC9zcGFuPjxhIGhyZWY9
Im1haWx0bzpsb29wc0BpZXRmLm9yZyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250
LWZhbWlseTomcXVvdDtJbmNvbnNvbGF0YSZxdW90OyxzZXJpZiI+bG9vcHNAaWV0Zi5vcmc8L3Nw
YW4+PC9hPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7SW5j
b25zb2xhdGEmcXVvdDssc2VyaWYiPjxicj4NCkNjOiA8L3NwYW4+PGEgaHJlZj0ibWFpbHRvOm53
Y3JnQGlydGYub3JnIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZx
dW90O0luY29uc29sYXRhJnF1b3Q7LHNlcmlmIj5ud2NyZ0BpcnRmLm9yZzwvc3Bhbj48L2E+PHNw
YW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWlseTomcXVvdDtJbmNvbnNvbGF0YSZx
dW90OyxzZXJpZiI+PGJyPg0KU3ViamVjdDogUmU6IFtud2NyZ10gW0xPT1BTXSBJRVRGMTA2OiBM
T09QUyBzaWRlIG1lZXRpbmcgb24gVHVlc2RheSAwODozMCwgT3JjaGFyZCBSb29tPGJyPg0KPGJy
Pg0KVGhhbmtzIGFnYWluIGV2ZXJ5b25lIGZvciB0aGUgcGFydGljaXBhdGlvbiBhdCB0aGUgTE9P
UFMgc2lkZSBtZWV0aW5nIGFuZCBpbiBvdXIgc2xvdCBhdCB0aGUgTldDUkcgbWVldGluZy48YnI+
DQo8YnI+DQpJIGhhdmUgY29tcGlsZWQgbW9yZSBkZXRhaWxlZCBub3Rlcywgd2l0aCBsaW5rcyB0
by9jb3BpZXMgb2YgdGhlIG1lZXRpbmcgbWF0ZXJpYWxzLCBhdDxicj4NCjxicj4NCjwvc3Bhbj48
YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vbG9vcHMtd2cvaWV0ZjEwNiI+PHNwYW4gc3R5bGU9
ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWlseTomcXVvdDtJbmNvbnNvbGF0YSZxdW90OyxzZXJp
ZiI+aHR0cHM6Ly9naXRodWIuY29tL2xvb3BzLXdnL2lldGYxMDY8L3NwYW4+PC9hPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7SW5jb25zb2xhdGEmcXVvdDss
c2VyaWYiPjxicj4NCjxicj4NClBsZWFzZSBkbyBoYXZlIGEgbG9vayBhdCB0aGUgbm90ZXMsIHNw
ZWNpZmljYWxseSBbMV0gYW5kIFsyXSwgYW5kIHNlbmQgY29ycmVjdGlvbnMgYW5kIGFkZGl0aW9u
cy4gJm5ic3A7QWxzbywgdGhlcmUgd2VyZSBhIGZldyBpdGVtcyBpbiB0aGUgTldDUkcgZGlzY3Vz
c2lvbiB3aGVyZSB0aGVyZSBtYXkgYmUgcmVzdWx0cyB0aGF0IHdlIGFscmVhZHkgY2FuIHBvaW50
IHRvOyBhcyBNYXJpZS1Kb3NlIHNhaWQsIHBsZWFzZSBzZW5kIHRoZW0gdG8gYm90aCBtYWlsaW5n
DQogbGlzdHMuPGJyPg0KPGJyPg0KR3LDvMOfZSwgQ2Fyc3Rlbjxicj4NCjxicj4NClsxXTogPC9z
cGFuPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9sb29wcy13Zy9pZXRmMTA2L2Jsb2IvbWFz
dGVyL2lldGYxMDYtbG9vcHMtc2lkZS1tZWV0aW5nLm1kIj48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjcuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0luY29uc29sYXRhJnF1b3Q7LHNlcmlmIj5odHRwczov
L2dpdGh1Yi5jb20vbG9vcHMtd2cvaWV0ZjEwNi9ibG9iL21hc3Rlci9pZXRmMTA2LWxvb3BzLXNp
ZGUtbWVldGluZy5tZDwvc3Bhbj48L2E+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250
LWZhbWlseTomcXVvdDtJbmNvbnNvbGF0YSZxdW90OyxzZXJpZiI+PGJyPg0KWzJdOiA8L3NwYW4+
PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2xvb3BzLXdnL2lldGYxMDYvYmxvYi9tYXN0ZXIv
aWV0ZjEwNi1ud2NyZy1sb29wcy5tZCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250
LWZhbWlseTomcXVvdDtJbmNvbnNvbGF0YSZxdW90OyxzZXJpZiI+aHR0cHM6Ly9naXRodWIuY29t
L2xvb3BzLXdnL2lldGYxMDYvYmxvYi9tYXN0ZXIvaWV0ZjEwNi1ud2NyZy1sb29wcy5tZDwvc3Bh
bj48L2E+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWlseTomcXVvdDtJbmNv
bnNvbGF0YSZxdW90OyxzZXJpZiI+PGJyPg0KPGJyPg0KX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX188YnI+DQpud2NyZyBtYWlsaW5nIGxpc3Q8YnI+DQo8L3Nw
YW4+PGEgaHJlZj0ibWFpbHRvOm53Y3JnQGlydGYub3JnIj48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjcuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0luY29uc29sYXRhJnF1b3Q7LHNlcmlmIj5ud2NyZ0Bp
cnRmLm9yZzwvc3Bhbj48L2E+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWls
eTomcXVvdDtJbmNvbnNvbGF0YSZxdW90OyxzZXJpZiI+PGJyPg0KPC9zcGFuPjxhIGhyZWY9Imh0
dHBzOi8vd3d3LmlydGYub3JnL21haWxtYW4vbGlzdGluZm8vbndjcmciPjxzcGFuIHN0eWxlPSJm
b250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7SW5jb25zb2xhdGEmcXVvdDssc2VyaWYi
Pmh0dHBzOi8vd3d3LmlydGYub3JnL21haWxtYW4vbGlzdGluZm8vbndjcmc8L3NwYW4+PC9hPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7SW5jb25zb2xhdGEm
cXVvdDssc2VyaWYiPjxicj4NCi0tPHNwYW4gY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+
Jm5ic3A7PC9zcGFuPjxicj4NCkxPT1BTIG1haWxpbmcgbGlzdDxicj4NCjwvc3Bhbj48YSBocmVm
PSJtYWlsdG86TE9PUFNAaWV0Zi5vcmciPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7SW5jb25zb2xhdGEmcXVvdDssc2VyaWYiPkxPT1BTQGlldGYub3JnPC9z
cGFuPjwvYT48c3BhbiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0lu
Y29uc29sYXRhJnF1b3Q7LHNlcmlmIj48YnI+DQo8L3NwYW4+PGEgaHJlZj0iaHR0cHM6Ly93d3cu
aWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9sb29wcyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo3
LjVwdDtmb250LWZhbWlseTomcXVvdDtJbmNvbnNvbGF0YSZxdW90OyxzZXJpZiI+aHR0cHM6Ly93
d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9sb29wczwvc3Bhbj48L2E+PHNwYW4gc3R5bGU9
ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWlseTomcXVvdDtJbmNvbnNvbGF0YSZxdW90OyxzZXJp
ZiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9ibG9ja3F1b3RlPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWlseTomcXVvdDtJbmNv
bnNvbGF0YSZxdW90OyxzZXJpZiI+PGJyPg0KPGJyPg0KPGJyPg0KLS08c3BhbiBjbGFzcz0iYXBw
bGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGJyPg0KQ29saW4gUGVya2luczxicj4N
Cjwvc3Bhbj48YSBocmVmPSJodHRwczovL2NzcGVya2lucy5vcmcvIj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0luY29uc29sYXRhJnF1b3Q7LHNlcmlmIj5o
dHRwczovL2NzcGVya2lucy5vcmcvPC9zcGFuPjwvYT48c3BhbiBzdHlsZT0iZm9udC1zaXplOjcu
NXB0O2ZvbnQtZmFtaWx5OiZxdW90O0luY29uc29sYXRhJnF1b3Q7LHNlcmlmIj48YnI+DQo8YnI+
DQo8YnI+DQo8YnI+DQo8YnI+DQotLTxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2Ui
PiZuYnNwOzwvc3Bhbj48YnI+DQpMT09QUyBtYWlsaW5nIGxpc3Q8YnI+DQo8L3NwYW4+PGEgaHJl
Zj0ibWFpbHRvOkxPT1BTQGlldGYub3JnIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2Zv
bnQtZmFtaWx5OiZxdW90O0luY29uc29sYXRhJnF1b3Q7LHNlcmlmIj5MT09QU0BpZXRmLm9yZzwv
c3Bhbj48L2E+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWlseTomcXVvdDtJ
bmNvbnNvbGF0YSZxdW90OyxzZXJpZiI+PGJyPg0KPC9zcGFuPjxhIGhyZWY9Imh0dHBzOi8vd3d3
LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vbG9vcHMiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7SW5jb25zb2xhdGEmcXVvdDssc2VyaWYiPmh0dHBzOi8v
d3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vbG9vcHM8L3NwYW4+PC9hPjxvOnA+PC9vOnA+
PC9wPg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ib2R5Pg0K
PC9odG1sPg0K

--_000_da8da93a58d048d2b8a7dcb0663b881ehuaweicom_--


From nobody Sun Dec 22 16:02:38 2019
Return-Path: <stu.card@critical.com>
X-Original-To: loops@ietfa.amsl.com
Delivered-To: loops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 151E3120013; Sun, 22 Dec 2019 16:02:28 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level: 
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
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 ftUNxIwK2W-4; Sun, 22 Dec 2019 16:02:25 -0800 (PST)
Received: from mail.critical.com (mail.critical.com [209.217.211.166]) by ietfa.amsl.com (Postfix) with ESMTP id 31E7A120047; Sun, 22 Dec 2019 16:02:24 -0800 (PST)
Received: by mail.critical.com (Postfix, from userid 99) id 98A5F3801D; Sun, 22 Dec 2019 18:49:37 -0500 (EST)
Received: from www.critical.com (unknown [192.168.6.38]) by mail.critical.com (Postfix) with ESMTP id 55D66191BF; Sun, 22 Dec 2019 18:49:34 -0500 (EST)
Received: from 72.10.213.204 (SquirrelMail authenticated user cardsw) by www.critical.com with HTTP; Sun, 22 Dec 2019 19:02:21 -0500
Message-ID: <24526f0dbdcbdb65951d16cb5770fcbe.squirrel@www.critical.com>
In-Reply-To: <7DC0B005-8BA2-4D80-8CDF-4E2AE7EA96F3@tzi.org>
References: <AAF1E19E-37C1-4A9D-B92A-621054B06AF6@tzi.org> <c172b80c-04ee-9786-153f-9e1dda57fdd8@steinwurf.com> <3D026CEF-AF7D-4CDE-8A5B-8CE5DCF749D1@tzi.org> <163A8040-9B13-43AA-8917-F75D984B0EBF@tzi.org> <26708398-5DEB-478E-8CB8-D406A8B874FF@tzi.org> <7DC0B005-8BA2-4D80-8CDF-4E2AE7EA96F3@tzi.org>
Date: Sun, 22 Dec 2019 19:02:21 -0500
From: "Stuart William Card" <stu.card@critical.com>
To: "Carsten Bormann" <cabo@tzi.org>
Cc: loops@ietf.org, nwcrg@irtf.org, dtn@ietf.org
User-Agent: SquirrelMail/1.4.23 [SVN]
MIME-Version: 1.0
Content-Type: text/plain;charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Priority: 3 (Normal)
Importance: Normal
Archived-At: <https://mailarchive.ietf.org/arch/msg/loops/QGZv6QEu_nlBpoqZfUlADm6Aw70>
Subject: Re: [LOOPS] [nwcrg]  IETF106: LOOPS side meeting on Tuesday 08:30, Orchard Room
X-BeenThere: loops@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Local Optimizations on Path Segments <loops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/loops>, <mailto:loops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/loops/>
List-Post: <mailto:loops@ietf.org>
List-Help: <mailto:loops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/loops>, <mailto:loops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 23 Dec 2019 00:02:28 -0000

Carsten et al --

There has been interesting discussion since this thread-starter, but as I
am not responding specifically to any of the points in those subsequent
messages, I'll reply to this one.

Over 15 years ago, for an enterprise with global air mobile operations, I
was deeply involved in enabling IP networking among LANs aboard aircraft
and WANs on the ground.

Then there were few air-ground links available, and they were mostly:
 - high error (or packet loss) rate
 - low data rate
 - long latency
 - half-duplex (with long transmit-receive turn-around times)
 - asymmetric
 - rapidly and widely varying in all the above characteristics

So we used store-and-forward Delay/Disruption Tolerant Networking (DTN)
techniques were we could, but also had to support TCP/IP applications.

To take advantage of all of the different narrow-band links to/from the
aircraft, we integrated what we called Concurrent Multipath Routing (CMR).
This was not just flow by flow but also packet by packet load balancing
and failover, as often we had only a single application flow demanding a
higher data rate than we could achieve over a single air-ground link, as
well as the need for multi-homing for smooth make-before-break mobility
handoffs. Of course, this resulted in frequent Out Of Order Delivery
(OOOD), utterly trashing performance of basic TCP. Each different
air-ground link was just a single hop, near the aircraft end, of a
multi-hop path, with each ground segment run by a different organization
with different QoS etc. policies. Further, some links had reliable link
layer protocols that used ARQ, causing further RTT variation, so TCP
retransmissions were often needlessly triggered, redundant with (and
slower than) link layer retransmissions.

So we integrated symmetric transparent TCP Performance Enhancing Proxies
(PEPs) based on the Space Communications Protocol Specifications -
Transport Protocol (SCPS-TP), an interoperable TCP variant with additional
(IANA listed) options, especially Selective Negative ACKnowledgment
(SNACK). We implemented and got CCSDS to standardize "Lazy SNACK", where
the transport layer receiver does not immediately SNACK a hole in the
sequence and/or the transport layer sender does not immediately retransmit
in response to getting a SNACK; this more patient strategy dramatically
improved response to CMR's OOOD and the reliable link layer's ARQ.

I relate all this because I wish to suggest that LOOPS participants brush
up on SCPS-TP (the protocol, its testing and its uses), to avoid
unnecessarily re-inventing wheels. I recognize that LOOPS is for path
_segments_: we used SCPS-TP only on a portion of our end-to-end multipath
route, so that is the same; but our TCP<->SCPS-TP PEPs were transparent,
which is largely infeasible today as it looks like a Man In The Middle
attack and is defeated by end-to-end encryption (whether IPsec or TLS).
However, it certainly is possible to tunnel IP in TCP (or SCPS-TP), albeit
with substantial overhead. I'm not suggesting an IP in SCPS-TP tunnel as a
LOOPS technique, but something _like_ that might make some sense. Anyway,
check out the CCSDS standard for SCPS-TP for good ideas on dealing with
lousy path segments. Here are some getting-started references --

https://en.wikipedia.org/wiki/Space_Communications_Protocol_Specifications
https://public.ccsds.org/publications/scps.aspx
https://public.ccsds.org/Pubs/714x0b2.pdf

Although few are aware of SCPS-TP (even those who are using it, as it is
typically embedded in their SATCOM gateways), it is required for all U.S.
military TCP over SATCOM, and there has been recent work outside DoD --

http://www.ittc.ku.edu/resilinets/papers/Nguyen-Sterbenz-wns3-2017.pdf

I can provide lots of other references for anyone interested. We are also
planning to launch a new [secure] reliable [multicast] transport mailing
list to replace the old SCPS and NACK Oriented Reliable Multicast (NORM)
lists (we have the NORM list archives).

Note I added the DTN working group to distribution on this message; you
may or may not want to keep them on distribution of replies.

Thanks all!

-- Stu

> Thanks again everyone for the participation at the LOOPS side meeting and
> in our slot at the NWCRG meeting.
>
> I have compiled more detailed notes, with links to/copies of the meeting
> materials, at
>
> https://github.com/loops-wg/ietf106
>
> Please do have a look at the notes, specifically [1] and [2], and send
> corrections and additions.  Also, there were a few items in the NWCRG
> discussion where there may be results that we already can point to; as
> Marie-Jose said, please send them to both mailing lists.
>
> Grüße, Carsten
>
> [1]:
> https://github.com/loops-wg/ietf106/blob/master/ietf106-loops-side-meeting.md
> [2]:
> https://github.com/loops-wg/ietf106/blob/master/ietf106-nwcrg-loops.md
>
> _______________________________________________
> nwcrg mailing list
> nwcrg@irtf.org
> https://www.irtf.org/mailman/listinfo/nwcrg

-- 
Stuart W. Card, VP & Chief Scientist
Critical Technologies Inc. (CTI)
<stu.card@critical.com>


