From owner-freebsd-transport@freebsd.org Tue Sep 15 14:35:13 2020 Return-Path: Delivered-To: freebsd-transport@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DAE113D4AD3 for ; Tue, 15 Sep 2020 14:35:13 +0000 (UTC) (envelope-from Richard.Scheffenegger@netapp.com) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-eopbgr770050.outbound.protection.outlook.com [40.107.77.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "GlobalSign Organization Validation CA - SHA256 - G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BrQk86lbyz49kB for ; Tue, 15 Sep 2020 14:35:12 +0000 (UTC) (envelope-from Richard.Scheffenegger@netapp.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=O8sgRuJGb7lh5KB/LZoetMRbhJd3yU5Gd4tdAdWQYwsh49OKu7zLBhZE4DBznqfhjMHva6Yhu2B0PGPB+L/h1SawDjWSQ4Ki/jyCAEB4I/ovh+E/jkuSNs8G4U/UgVU0tSddAvA84KBy4Hjzr/N/DA6TST6kFQdeyEp+qeCAGsKekwatojCO+tPK9mSYVYUxYx+my+oq75xw6aClyEEZbsx/gskXGdPOSq+nOO7zBEwLIN/41rx2zwjqjW9wgfafRnDTsi+xtaMVD5EY6P/UXdvdmALbU7gMkkmO0YhvUdf1hlsnt10IYGZoY/PG5H6gFXr2CRD/jzVi8Vd3Gs3xPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7G4lSOtg9kx5G5B+jQBeusW7+wqsDr2DPNcN3Y+jc2U=; b=kpY6y4aQ4a9UFgxwNWMMydWQE+IqGV4pHx+YCklUhmFV1rFak/EoIynQ00yhmkhmMlh51FhSCif2U3imvtVu+yjx8CyKmBacgA7kHLUqbjTdiAmPmnAh3564EXP8tdRXgg3mWBxqeZg5q2hp/yahKYDgl3XeVtgtomaDhOf9cdClFfKHzVTBTUTBoDPCndoL6EIMjP68StXxcXsH1iSgLrsolBvnwycRXleJvY/tW7STHTP7rf1xl/SW3egjrXX55jKK3AIBiBbr/Q9vVtZjo5lyH/dgJ9U7iLzC6MwuaxG06wyaieofrJykjyDmy/uux1ymdP2ohwcJExe5aO/Ndg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=netapp.com; dmarc=pass action=none header.from=netapp.com; dkim=pass header.d=netapp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netapp.onmicrosoft.com; s=selector1-netapp-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7G4lSOtg9kx5G5B+jQBeusW7+wqsDr2DPNcN3Y+jc2U=; b=XiWYKBF8JGAXUgLXA58v/b3asrn/RPKzZ7aOHZj7MMAJj2wOfmdFSnXAKqi+AQ16i3ruAY4IsZxVmcA375zKtVaYsw/CtmQPhyapLHU3sRSmPs8YE/qJapcStxC8AmKe1O/J4/lB17N1uhABkQiJ57mBEbz6wkgoejms2EJWxA8= Received: from SN4PR0601MB3728.namprd06.prod.outlook.com (2603:10b6:803:51::24) by SN6PR06MB4541.namprd06.prod.outlook.com (2603:10b6:805:95::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3391.11; Tue, 15 Sep 2020 14:35:10 +0000 Received: from SN4PR0601MB3728.namprd06.prod.outlook.com ([fe80::84a9:fc74:7eed:ca3a]) by SN4PR0601MB3728.namprd06.prod.outlook.com ([fe80::84a9:fc74:7eed:ca3a%7]) with mapi id 15.20.3370.019; Tue, 15 Sep 2020 14:35:10 +0000 From: "Scheffenegger, Richard" To: Liang Tian CC: FreeBSD Transport Subject: RE: Fast recovery ssthresh value Thread-Topic: Fast recovery ssthresh value Thread-Index: AQHWeNGXKLXrd0Ypk0G/FpBfyhwhfqlGGMBAgBqPXACAARNjQIABNHEAgAA7XmCAAJ24gIAF8pSg Date: Tue, 15 Sep 2020 14:35:10 +0000 Message-ID: References: In-Reply-To: Accept-Language: de-AT, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [185.236.167.136] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9b5e69f4-1c11-473c-3d23-08d859848cd0 x-ms-traffictypediagnostic: SN6PR06MB4541: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 26m5hxAyIm1hUuJAFfDa1hvaWIFJE8fukzhwpq5vjC6nfx15dz5QRNxRDe/hJ+HeGnTdHO20+DDDfbgP6m9XMTyaCmTHn4ZVxCy0JJ3BQhBO9/bEroupED2o1avh7kAl3fQ6rnwMwQkKGGRd/OxdpBEzb6mO0LKnPHH7LXmCWolwPQbdCgOXVm0cG+O2MeIgVOm8k6DfqjQHUFhzh6NILwwz9R27KU2lnCF5cplUxFwoWCKPjDQLASlx8O9TaPIwAzzYYm9ojB9EhP3/0sGguVykahgbHQzqxIJHBguC9OLChxqK4rXubMvRh01J6sB3VpiFPRP3cOuORmhrNwsWu9W2ctoJLD/Fj/XpYEmUue2WYMKvgdUmMpZaH5vhPI7qPPgKf7CdOPJWtK+bAvdiwg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN4PR0601MB3728.namprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(136003)(366004)(39860400002)(376002)(396003)(186003)(9686003)(55016002)(30864003)(7696005)(966005)(33656002)(26005)(53546011)(478600001)(6506007)(76116006)(86362001)(2906002)(316002)(66946007)(4326008)(5660300002)(66556008)(64756008)(66446008)(8676002)(52536014)(83380400001)(8936002)(6916009)(3480700007)(71200400001)(66476007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: HGLBOs3d75vmi0Ri0PRgNfX7WIgNRixnKB+HnzEDYkoERVfns4dNHm7WW5cCQkuWTq/oXn9/T3QCwrmtDH4VLkJqRo6Sls0cPzCKEtHGYPjkWStpSCL9wEP4WSSs7RbUq461tZLatqadcFt64goWLlD4lwwPl43GCiFv/JhjBt4AwZ5JsgX00loLzSUG5NZZMWGY5d3I7YBYVgd623YFZl2yG63IpTrNXx2jKNKSg66syHrBC2t37Z9D8mVn0j5CPxgQC3fbsl17ja9cdim8DqUWiwqGqdY4g3RRaWzmPuXurCtSSxoAV5I3k+jB0+gWCAxdggg/Lq5c9P+kTlXsAoriV36yfv3h0q9Cen7xquud3VreNZ/mHCVs77gDk7R8XX1o0nEPmex+L2sG6O/fNQnyL46baVIIjLGcBqHHywHz6z9yT9JfOjjD0caCkD591F2CASf39Jr54A/gNgck6GQMnRdL3IG3EgsWaKtwB6MBVoLEzkupA0+N++2T/G3QJ2xCJoq90/jEYF/hn5MFBW2zLNsC5BZg1wLVl4rPFmIVkdPNLiErf8vDWg0XdHvW9j/hjX428ZXWyw4eDYkS7zOnmlCN0bOvu2QRfrE0kr4+5ENfQxzxuIDcxnHiuXbU8AFr9yibVxUICUYtpnMmXg== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: netapp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN4PR0601MB3728.namprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9b5e69f4-1c11-473c-3d23-08d859848cd0 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Sep 2020 14:35:10.4548 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4b0911a0-929b-4715-944b-c03745165b3a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: nHiepB+Hp+CcHe0xCt2KlT5O/3hDPgfnSj9ahd49YyCfuVQO2usB9PCBx8BMiNIBWV/NVP1j/UkaSBU/u8YX0Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR06MB4541 X-Rspamd-Queue-Id: 4BrQk86lbyz49kB X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=netapp.onmicrosoft.com header.s=selector1-netapp-onmicrosoft-com header.b=XiWYKBF8; dmarc=none; spf=pass (mx1.freebsd.org: domain of Richard.Scheffenegger@netapp.com designates 40.107.77.50 as permitted sender) smtp.mailfrom=Richard.Scheffenegger@netapp.com X-Spamd-Result: default: False [-2.62 / 15.00]; HAS_XOIP(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:40.107.0.0/16]; MIME_BASE64_TEXT_BOGUS(1.00)[]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[netapp.onmicrosoft.com:+]; MIME_BASE64_TEXT(0.10)[]; RCPT_COUNT_TWO(0.00)[2]; NEURAL_HAM_SHORT(-0.23)[-0.233]; FREEMAIL_TO(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:8075, ipnet:40.104.0.0/14, country:US]; ARC_ALLOW(-1.00)[microsoft.com:s=arcselector9901:i=1]; NEURAL_HAM_MEDIUM(-0.96)[-0.962]; R_DKIM_ALLOW(-0.20)[netapp.onmicrosoft.com:s=selector1-netapp-onmicrosoft-com]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.02)[-1.022]; TAGGED_RCPT(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[netapp.com]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[40.107.77.50:from]; RWL_MAILSPIKE_POSSIBLE(0.00)[40.107.77.50:from]; MAILMAN_DEST(0.00)[freebsd-transport] X-BeenThere: freebsd-transport@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: Discussions of transport level network protocols in FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Sep 2020 14:35:13 -0000 SGkgTGlhbmcsDQoNCkkgd2FzIGFib3V0IHRvIHNlbmQgb3V0IHRoaXMgZW1haWwgbm90aWZ5aW5n IHlvdSBvZiB0aGUgY2hhbmdlcyB0byB0aGUgcGF0Y2gsIHdoZXJlIHlvdSB1bmNvdmVyZWQgdGhl IGlzc3VlcyB3aXRoIFRTb3B0IGVuYWJsZWQgVENQIGZsb3dzLg0KDQpodHRwczovL3Jldmlld3Mu ZnJlZWJzZC5vcmcvRDE4ODkyDQoNCkNhbiB5b3UgcGxlYXNlIHJlLXBhdGNoIHlvdXIgdGVzdCBt YWNoaW5lIHdpdGggdGhpcyB1cGRhdGVkIHZlcnNpb24gKEkgZml4ZWQgb25lIG1lcmdlIGlzc3Vl IGR1ZSB0byB3aGl0ZXNwYWNlIGNsZWFudXAgcmVjZW50bHkgdG9vLCBzbyBpdCBzaG91bGQgYXBw bHkgY2xlYW5seSB0byBIRUFEIG5vdykuDQoNClBsZWFzZSBsZXQgdXMga25vdyBhbmQgc2hhcmUg YW55IGNvbW1lbnRzIGFuZCBjcml0aWNpc20gYWJvdXQgdGhpcyBwYXRjaCENCg0KVGhhbmtzIGFn YWluIGZvciB0ZXN0aW5nIC0gYW5kIGZpbmRpbmcgdGhlIG92ZXJsb29rZWQgY29tYmluYXRpb24g d2l0aCB0aW1lc3RhbXBzLg0KDQoNClJpY2hhcmQgU2NoZWZmZW5lZ2dlcg0KDQotLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogTGlhbmcgVGlhbiA8bC50aWFuLmVtYWlsQGdtYWlsLmNv bT4gDQpTZW50OiBGcmVpdGFnLCAxMS4gU2VwdGVtYmVyIDIwMjAgMTk6MDINClRvOiBTY2hlZmZl bmVnZ2VyLCBSaWNoYXJkIDxSaWNoYXJkLlNjaGVmZmVuZWdnZXJAbmV0YXBwLmNvbT4NCkNjOiBG cmVlQlNEIFRyYW5zcG9ydCA8ZnJlZWJzZC10cmFuc3BvcnRAZnJlZWJzZC5vcmc+DQpTdWJqZWN0 OiBSZTogRmFzdCByZWNvdmVyeSBzc3RocmVzaCB2YWx1ZQ0KDQpOZXRBcHAgU2VjdXJpdHkgV0FS TklORzogVGhpcyBpcyBhbiBleHRlcm5hbCBlbWFpbC4gRG8gbm90IGNsaWNrIGxpbmtzIG9yIG9w ZW4gYXR0YWNobWVudHMgdW5sZXNzIHlvdSByZWNvZ25pemUgdGhlIHNlbmRlciBhbmQga25vdyB0 aGUgY29udGVudCBpcyBzYWZlLg0KDQoNCg0KDQpIaSBSaWNoYXJkLA0KDQpJbml0aWFsIHRlc3Rz IHNob3cgUFJSIGlzIGRvaW5nIHF1aXRlIHdlbGwuIFNlZSB0cmFjZSBiZWxvdyBzaG93aW5nIHJl c3BvbnNlIHRvIFRTdmFsIDI3MTMzODE5MTYgYW5kIDI3MTMzODE5MTcuDQpJIGhhdmUgYSBjb21t ZW50IG9uIHRoZSBwYXRjaDogSSB0aGluayBhbGwgdGhlIHRwLT50X21heHNlZyBzaG91bGQgYmUg cmVwbGFjZWQgd2l0aCBtYXhzZWcgaW4gdGhlIGRpZmYgKGh0dHBzOi8vcmV2aWV3cy5mcmVlYnNk Lm9yZy9EMTg4OTIpLA0Kd2hlcmUgbWF4c2VnID0gdGNwX21heHNlZyh0cCkuIFRoaXMgd2lsbCB0 YWtlIFRDUCBvcHRpb25zKHRpbWVzdGFtcCBpbiB0aGlzIGNhc2UpIGludG8gYWNjb3VudCBhbmQg YXZvaWQgc2VuZGluZyB0aGUgdGlueWdyYW1zIHdpdGggbGVuIDEyMCBhbmQgMzYgaW4gdGhlIHRy YWNlIGJlbG93Lg0KSW50ZXJlc3RpbmdseSB3ZSB3ZXJlIGFsc28gY2hhc2luZyBhbm90aGVyIGlz c3VlIHdoZXJlIHdlIHNlZSBhIGxvdCBvZg0KMTIgYnl0ZXMgc2VnbWVudHMgd2hlbiByZXRyYW5z bWlzc2lvbiBoYXBwZW5zKGJlZm9yZSBhcHBseWluZyBQUlQgcGF0Y2gpLCB3ZSBhcmUgc3VzcGVj dGluZyB0aGUgbWl4ZWQgdXNhZ2Ugb2YgdF9tYXhzZWcgYW5kIG1heHNlZyA9DQp0Y3BfbWF4c2Vn KHRwKSBpbiB0aGUgdGNwIGNvZGUgaXMgY2F1c2luZyB0aGlzOiB0aGUgQ0NBIG1vZHVsZXMgYXJl IGFsbCB1c2luZyB0X21heHNlZyBmb3IgQ1dORCBpbmNyZWFzZSBpbnN0ZWFkIG9mIGVmZmVjdGl2 ZSBTTVNTLg0KDQpbVENQIER1cCBBQ0sgNDE1NDEjM10gNTI0NjYgID4gIDgwIFtBQ0tdIFNlcT0x NTYgQWNrPTQ0NTk2NDQxDQpXaW49MzE0NDcwNCBMZW49MCBUU3ZhbD0yNzEzMzgxOTE0IFRTZWNy PTE2MzY2MDQ3MzAgU0xFPTQ2Nzg1MzE3DQpTUkU9NDY3OTA4NjkNCltUQ1AgRHVwIEFDSyA0MTU0 MSM0XSA1MjQ2NiAgPiAgODAgW0FDS10gU2VxPTE1NiBBY2s9NDQ1OTY0NDENCldpbj0zMTQ0NzA0 IExlbj0wIFRTdmFsPTI3MTMzODE5MTYgVFNlY3I9MTYzNjYwNDczMCBTTEU9NDY3ODUzMTcNClNS RT00NjgwNDc0OQ0KW1RDUCBEdXAgQUNLIDQxNTQxIzVdIDUyNDY2ICA+ICA4MCBbQUNLXSBTZXE9 MTU2IEFjaz00NDU5NjQ0MQ0KV2luPTMxNDQ3MDQgTGVuPTAgVFN2YWw9MjcxMzM4MTkxNyBUU2Vj cj0xNjM2NjA0NzMwIFNMRT00Njc4NTMxNw0KU1JFPTQ2ODA4OTEzDQpbVENQIE91dC1PZi1PcmRl cl0gODAgID4gIDUyNDY2IFtBQ0tdIFNlcT00NDU5Nzg1MyBBY2s9MTU2IFdpbj0xMDQ4NTc2DQpM ZW49MTM4OCBUU3ZhbD0xNjM2NjA0OTA0IFRTZWNyPTI3MTMzODE5MTYgW1RDUCBPdXQtT2YtT3Jk ZXJdIDgwICA+ICA1MjQ2NiBbQUNLXSBTZXE9NDQ1OTkyNDEgQWNrPTE1NiBXaW49MTA0ODU3Ng0K TGVuPTEzODggVFN2YWw9MTYzNjYwNDkwNCBUU2Vjcj0yNzEzMzgxOTE2IFtUQ1AgT3V0LU9mLU9y ZGVyXSA4MCAgPiAgNTI0NjYgW0FDS10gU2VxPTQ0NjAwNjI5IEFjaz0xNTYgV2luPTEwNDg1NzYN Ckxlbj0xMzg4IFRTdmFsPTE2MzY2MDQ5MDQgVFNlY3I9MjcxMzM4MTkxNiBbVENQIE91dC1PZi1P cmRlcl0gODAgID4gIDUyNDY2IFtBQ0tdIFNlcT00NDYwMjAxNyBBY2s9MTU2IFdpbj0xMDQ4NTc2 DQpMZW49MTM4OCBUU3ZhbD0xNjM2NjA0OTA0IFRTZWNyPTI3MTMzODE5MTYgW1RDUCBPdXQtT2Yt T3JkZXJdIDgwICA+ICA1MjQ2NiBbQUNLXSBTZXE9NDQ2MDM0MDUgQWNrPTE1NiBXaW49MTA0ODU3 Ng0KTGVuPTEzODggVFN2YWw9MTYzNjYwNDkwNCBUU2Vjcj0yNzEzMzgxOTE2IFtUQ1AgT3V0LU9m LU9yZGVyXSA4MCAgPiAgNTI0NjYgW0FDS10gU2VxPTQ0NjA0NzkzIEFjaz0xNTYgV2luPTEwNDg1 NzYNCkxlbj0xMzg4IFRTdmFsPTE2MzY2MDQ5MDQgVFNlY3I9MjcxMzM4MTkxNiBbVENQIE91dC1P Zi1PcmRlcl0gODAgID4gIDUyNDY2IFtBQ0tdIFNlcT00NDYwNjE4MSBBY2s9MTU2IFdpbj0xMDQ4 NTc2DQpMZW49MTM4OCBUU3ZhbD0xNjM2NjA0OTA0IFRTZWNyPTI3MTMzODE5MTYgW1RDUCBPdXQt T2YtT3JkZXJdIDgwICA+ICA1MjQ2NiBbQUNLXSBTZXE9NDQ2MDc1NjkgQWNrPTE1NiBXaW49MTA0 ODU3Ng0KTGVuPTEzODggVFN2YWw9MTYzNjYwNDkwNCBUU2Vjcj0yNzEzMzgxOTE2IFtUQ1AgT3V0 LU9mLU9yZGVyXSA4MCAgPiAgNTI0NjYgW0FDS10gU2VxPTQ0NjA4OTU3IEFjaz0xNTYgV2luPTEw NDg1NzYNCkxlbj0xMzg4IFRTdmFsPTE2MzY2MDQ5MDQgVFNlY3I9MjcxMzM4MTkxNiBbVENQIE91 dC1PZi1PcmRlcl0gODAgID4gIDUyNDY2IFtBQ0tdIFNlcT00NDYxMDM0NSBBY2s9MTU2IFdpbj0x MDQ4NTc2DQpMZW49MTM4OCBUU3ZhbD0xNjM2NjA0OTA0IFRTZWNyPTI3MTMzODE5MTYgW1RDUCBP dXQtT2YtT3JkZXJdIDgwICA+ICA1MjQ2NiBbQUNLXSBTZXE9NDQ2MTE3MzMgQWNrPTE1NiBXaW49 MTA0ODU3Ng0KTGVuPTEyMCBUU3ZhbD0xNjM2NjA0OTA0IFRTZWNyPTI3MTMzODE5MTYgW1RDUCBP dXQtT2YtT3JkZXJdIDgwICA+ICA1MjQ2NiBbQUNLXSBTZXE9NDQ2MTE4NTMgQWNrPTE1NiBXaW49 MTA0ODU3Ng0KTGVuPTEzODggVFN2YWw9MTYzNjYwNDkwNSBUU2Vjcj0yNzEzMzgxOTE3IFtUQ1Ag T3V0LU9mLU9yZGVyXSA4MCAgPiAgNTI0NjYgW0FDS10gU2VxPTQ0NjEzMjQxIEFjaz0xNTYgV2lu PTEwNDg1NzYNCkxlbj0xMzg4IFRTdmFsPTE2MzY2MDQ5MDUgVFNlY3I9MjcxMzM4MTkxNyBbVENQ IE91dC1PZi1PcmRlcl0gODAgID4gIDUyNDY2IFtBQ0tdIFNlcT00NDYxNDYyOSBBY2s9MTU2IFdp bj0xMDQ4NTc2DQpMZW49MTM4OCBUU3ZhbD0xNjM2NjA0OTA1IFRTZWNyPTI3MTMzODE5MTcgW1RD UCBPdXQtT2YtT3JkZXJdIDgwICA+ICA1MjQ2NiBbQUNLXSBTZXE9NDQ2MTYwMTcgQWNrPTE1NiBX aW49MTA0ODU3Ng0KTGVuPTM2IFRTdmFsPTE2MzY2MDQ5MDUgVFNlY3I9MjcxMzM4MTkxNyBbVENQ IER1cCBBQ0sgNDE1NDEjNl0gNTI0NjYgID4gIDgwIFtBQ0tdIFNlcT0xNTYgQWNrPTQ0NTk2NDQx DQpXaW49MzE0NDcwNCBMZW49MCBUU3ZhbD0yNzEzMzgxOTI1IFRTZWNyPTE2MzY2MDQ3MzAgU0xF PTQ2Nzg1MzE3DQpTUkU9NDY4NjcyMDkNCltUQ1AgT3V0LU9mLU9yZGVyXSA4MCAgPiAgNTI0NjYg W0FDS10gU2VxPTQ0NjE2MDUzIEFjaz0xNTYgV2luPTEwNDg1NzYNCkxlbj0xMzg4IFRTdmFsPTE2 MzY2MDQ5MTIgVFNlY3I9MjcxMzM4MTkyNSBbVENQIE91dC1PZi1PcmRlcl0gODAgID4gIDUyNDY2 IFtBQ0tdIFNlcT00NDYxNzQ0MSBBY2s9MTU2IFdpbj0xMDQ4NTc2DQpMZW49MTM4OCBUU3ZhbD0x NjM2NjA0OTEyIFRTZWNyPTI3MTMzODE5MjUNCg0KVGhhbmtzLA0KTGlhbmcNCi4uLg0KDQpPbiBG cmksIFNlcCAxMSwgMjAyMCBhdCAzOjQwIEFNIFNjaGVmZmVuZWdnZXIsIFJpY2hhcmQgPFJpY2hh cmQuU2NoZWZmZW5lZ2dlckBuZXRhcHAuY29tPiB3cm90ZToNCj4NCj4gUGVyZmVjdCENCj4NCj4g UGxlYXNlIHNoYXJlIHlvdXIgZmluZGluZ3MgdGhlbiwgYXMgcmV2aWV3cyAoaW5jbHVkaW5nIGlu Zm9ybWFsIG9uZXMpIGFyZSBuZWVkZWQgcHJpb3IgdG8gbWUgY29tbWl0dGluZyB0aGlzIHBhdGNo Lg0KPg0KPiBOb3RlIHRoYXQgaXQgYnVpbGRzIHVwb24gRDE4NjI0LCB3aGljaCBpcyBjdXJyZW50 bHkgaW4gc3RhYmxlLzEyIGFuZCBoZWFkLCBidXQgbm90IGFueSByZWxlYXNlZCBicmFuY2hlcy4g U28geW91IG1heSBuZWVkIHRvIGFwcGx5IHRoYXQgdG9vIGlmIHlvdSBhcmVuJ3QgdXNpbmcgaGVh ZC4NCj4NCj4gQmVzdCByZWdhcmRzLA0KPg0KPg0KPiBSaWNoYXJkIFNjaGVmZmVuZWdnZXINCj4N Cj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTGlhbmcgVGlhbiA8bC50aWFu LmVtYWlsQGdtYWlsLmNvbT4NCj4gU2VudDogRnJlaXRhZywgMTEuIFNlcHRlbWJlciAyMDIwIDA2 OjA2DQo+IFRvOiBTY2hlZmZlbmVnZ2VyLCBSaWNoYXJkIDxSaWNoYXJkLlNjaGVmZmVuZWdnZXJA bmV0YXBwLmNvbT47IEZyZWVCU0QgDQo+IFRyYW5zcG9ydCA8ZnJlZWJzZC10cmFuc3BvcnRAZnJl ZWJzZC5vcmc+DQo+IFN1YmplY3Q6IFJlOiBGYXN0IHJlY292ZXJ5IHNzdGhyZXNoIHZhbHVlDQo+ DQo+IE5ldEFwcCBTZWN1cml0eSBXQVJOSU5HOiBUaGlzIGlzIGFuIGV4dGVybmFsIGVtYWlsLiBE byBub3QgY2xpY2sgbGlua3Mgb3Igb3BlbiBhdHRhY2htZW50cyB1bmxlc3MgeW91IHJlY29nbml6 ZSB0aGUgc2VuZGVyIGFuZCBrbm93IHRoZSBjb250ZW50IGlzIHNhZmUuDQo+DQo+DQo+DQo+DQo+ IEhpIFJpY2hhcmQsDQo+DQo+IFRoYW5rcyEgSSdtIGFibGUgdG8gYXBwbHkgdGhlIHBhdGNoZXMu IEknbGwgdGVzdCBpdC4NCj4NCj4gUmVnYXJkcywNCj4gTGlhbmcNCj4NCj4NCj4NCj4gT24gVGh1 LCBTZXAgMTAsIDIwMjAgYXQgNTo0OSBBTSBTY2hlZmZlbmVnZ2VyLCBSaWNoYXJkIDxSaWNoYXJk LlNjaGVmZmVuZWdnZXJAbmV0YXBwLmNvbT4gd3JvdGU6DQo+ID4NCj4gPiBIaSBMaWFuZywNCj4g Pg0KPiA+IFllcywgeW91IGFyZSBhYnNvbHV0ZWx5IGNvcnJlY3QgYWJvdXQgdGhpcyBvYnNlcnZh dGlvbi4gVGhlIFNBQ0sgbG9zcyByZWNvdmVyeSB3aWxsIG9ubHkgc2VuZCAgb25lIE1TUyBwZXIg cmVjZWl2ZWQgQUNLIHJpZ2h0IG5vdyAtIGFuZCB3aGVuIHRoZXJlIGlzIEFDSyB0aGlubmluZyBw cmVzZW50LCB3aWxsIGZhaWwgdG8gdGltZWx5IHJlY292ZXIgYWxsIHRoZSBtaXNzaW5nIHBhY2tl dHMsIGV2ZW50dWFsbHkgcmVjZWl2aW5nIG5vIG1vcmUgQUNLIHRvIGNsb2NrIG91dCBtb3JlIHJl dHJhbnNtaXNzaW9ucy4uLg0KPiA+DQo+ID4gSSBoYXZlIGEgRGlmZiBpbiByZXZpZXcsIHRvIGlt cGxlbWVudCBQcm9wb3J0aW9uYWwgUmF0ZSBSZWR1Y3Rpb246DQo+ID4NCj4gPiBodHRwczovL3Jl dmlld3MuZnJlZWJzZC5vcmcvRDE4ODkyDQo+ID4NCj4gPiBXaGljaCBzaG91bGQgYWRkcmVzcyBu b3Qgb25seSB0aGF0IGlzc3VlIGFib3V0IEFDSyB0aGlubmluZywgYnV0IGFsc28gdGhlIGlzc3Vl IHRoYXQgY3VycmVudCBTQUNLIGxvc3MgcmVjb3ZlcnkgaGFzIHRvIHdhaXQgdW50aWwgcGlwZSBk cm9wcyBiZWxvdyBzc3RocmVzaCwgYmVmb3JlIHRoZSByZXRyYW5zbWlzc2lvbnMgYXJlIGNsb2Nr ZWQgb3V0LiBBbmQgdGhlbiwgdGhleSB3b3VsZCBhY3R1YWxseSBiZSBjbG9ja2VkIG91dCBhdCB0 aGUgc2FtZSByYXRlIGF0IHRoZSBpbmNvbWluZyBBQ0tzLiBUaGlzIHdvdWxkIGJlIHRoZSBzYW1l IHJhdGUgYXMgd2hlbiB0aGUgb3ZlcmxvYWQgaGFwcGVuZWQgKGJhcnJpbmcgYW55IEFDSyB0aGlu bmluZyksIGFuZCBhcyBhIHNlY29uZGFyeSBlZmZlY3QsIGl0IHdhcyBvYnNlcnZlZCB0aGF0IHRo aXMgYmVoYXZpb3IgdG9vIGNhbiBsZWFkIHRvIHNlbGYtaW5mbGljdGVkIGxvc3MgLSBvZiByZXRy YW5zbWlzc2lvbnMuDQo+ID4NCj4gPiBJZiB5b3UgaGF2ZSB0aGUgYWJpbGl0eSB0byBwYXRjaCB5 b3VyIGtlcm5lbCB3aXRoIEQxODg5MiBhbmQgb2JzZXJ2ZSBob3cgdGhlIHJlYWN0aW9uIGlzIGlu IHlvdXIgZHJhbWF0aWMgQUNLIHRoaW5uaW5nIHNjZW5hcmlvLCB0aGF0IHdvdWxkIGJlIGdvb2Qg dG8ga25vdyEgVGhlIGFzc3VtcHRpb24gb2YgdGhlIFBhdGNoIHdhcywgdGhhdCAtIGFzIHBlciBU Q1AgUkZDIHJlcXVpcmVtZW50cyAtIHRoZXJlIGlzIG9uZSBBQ0sgZm9yIGVhY2ggcmVjZWl2ZWQg b3V0LW9mLXNlcXVlbmNlIGRhdGEgc2VnbWVudCwgYW5kIEFDSyBkcm9wcyAvIHRoaW5uaW5nIGFy ZSBub3QgaGFwcGVuaW5nIG9uIHN1Y2ggYSBtYXNzaXZlIHNjYWxlIGFzIHlvdSBkZXNjcmliZSBp dC4NCj4gPg0KPiA+IEJlc3QgcmVnYXJkcywNCj4gPg0KPiA+IFJpY2hhcmQgU2NoZWZmZW5lZ2dl cg0KPiA+DQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBvd25lci1m cmVlYnNkLXRyYW5zcG9ydEBmcmVlYnNkLm9yZw0KPiA+IDxvd25lci1mcmVlYnNkLXRyYW5zcG9y dEBmcmVlYnNkLm9yZz4gT24gQmVoYWxmIE9mIExpYW5nIFRpYW4NCj4gPiBTZW50OiBNaXR0d29j aCwgOS4gU2VwdGVtYmVyIDIwMjAgMTk6MTYNCj4gPiBUbzogU2NoZWZmZW5lZ2dlciwgUmljaGFy ZCA8UmljaGFyZC5TY2hlZmZlbmVnZ2VyQG5ldGFwcC5jb20+DQo+ID4gQ2M6IEZyZWVCU0QgVHJh bnNwb3J0IDxmcmVlYnNkLXRyYW5zcG9ydEBmcmVlYnNkLm9yZz4NCj4gPiBTdWJqZWN0OiBSZTog RmFzdCByZWNvdmVyeSBzc3RocmVzaCB2YWx1ZQ0KPiA+DQo+ID4gSGkgUmljaGFyZCwNCj4gPg0K PiA+IFRoYW5rcyBmb3IgdGhlIGV4cGxhbmF0aW9uIGFuZCBzb3JyeSBmb3IgdGhlIGxhdGUgcmVw bHkuDQo+ID4gSSd2ZSBiZWVuIGludmVzdGlnYXRpbmcgU0FDSyBsb3NzIHJlY292ZXJ5IGFuZCBJ IHRoaW5rIEknbSBzZWVpbmcgYW4gDQo+ID4gaXNzdWUgc2ltaWxhciB0byB0aGUgQUJDIEwgdmFs dWUgaXNzdWUgdGhhdCBJIHJlcG9ydGVkDQo+ID4gcHJldmlvdXNseShodHRwczovL3Jldmlld3Mu ZnJlZWJzZC5vcmcvRDI2MTIwKSBhbmQgSSBkbyBiZWxpZXZlIHRoZXJlIGlzIGEgZGV2aWF0aW9u IHRvIFJGQzM1MTc6DQo+ID4gVGhlIGlzc3VlIGhhcHBlbnMgd2hlbiBhIER1cEFjayBpcyByZWNl aXZlZCBkdXJpbmcgU0FDSyBsb3NzIHJlY292ZXJ5IGluIHRoZSBwcmVzZW5jZSBvZiBBQ0sgVGhp bm5pbmcgb3IgcmVjZWl2ZXIgZW5hYmxpbmcgTFJPLCB3aGljaCBtZWFucyB0aGUgU0FDSyBibG9j ayBlZGdlcyBjb3VsZCBleHBhbmQgYnkgbW9yZSB0aGFuIDEgU01TUyhXZSd2ZSBzZWVuIDMwKlNN U1MpLCBpLmUuIGEgc2luZ2xlIER1cEFjayBjb3VsZCBkZWNyZW1lbnQgYHBpcGVgIGJ5IG1vcmUg dGhhbiAxIFNNU1MuDQo+ID4gSW4gUkZDMzUxNywNCj4gPiAoQykgSWYgY3duZCAtIHBpcGUgPj0g MSBTTVNTLCB0aGUgc2VuZGVyIFNIT1VMRCB0cmFuc21pdCBvbmUgb3IgbW9yZSBzZWdtZW50cy4u Lg0KPiA+ICAgICAgICAgKEMuNSkgSWYgY3duZCAtIHBpcGUgPj0gMSBTTVNTLCByZXR1cm4gdG8g KEMuMSkgU28gYmFzZWQgb24gUkZDLCB0aGUgc2VuZGVyIHNob3VsZCBiZSBhYmxlIHRvIHNlbmQg bW9yZSBzZWdtZW50cyBpZiBzdWNoIER1cEFjayBpcyByZWNlaXZlZCwgYmVjYXVzZSBvZiB0aGUg YmlnIGNoYW5nZSB0byBgcGlwZWAuDQo+ID4NCj4gPiBJbiB0aGUgY3VycmVudCBpbXBsZW1lbnRh dGlvbiwgdGhlIGN3aW4gdmFyaWFibGUsIHdoaWNoIGNvbnRyb2xzIHRoZSBhbW91bnQgb2YgZGF0 YSB0aGF0IGNhbiBiZSB0cmFuc21pdHRlZCBiYXNlZCBvbiB0aGUgbmV3IGluZm9ybWF0aW9uLCBp cyBkaWN0YXRlZCBieSBzbmRfY3duZC4gVGhlIHNuZF9jd25kIGlzIGluY3JlbWVudGVkIGJ5IDEg U01TUyBmb3IgZWFjaCBEdXBBY2sgcmVjZWl2ZWQuIEkgYmVsaWV2ZSB0aGlzIGVmZmVjdGl2ZWx5 IGxpbWl0cyB0aGUgcmV0cmFuc21pc3Npb24gdHJpZ2dlcmVkIGJ5IGVhY2ggRHVwQWNrIHRvIDEg U01TUyAtICBkZXZpYXRpb24uDQo+ID4gIDMwNyAgICAgICAgIGN3aW4gPQ0KPiA+ICAzMDggICAg ICAgICAgICAgaW1heChtaW4odHAtPnNuZF93bmQsIHRwLT5zbmRfY3duZCkgLSBzYWNrX2J5dGVz X3J4bXQsIDApOw0KPiA+DQo+ID4gQXMgYSByZXN1bHQsIFNBQ0sgaXMgbm90IGRvaW5nIGVub3Vn aCByZWNvdmVyeSBpbiB0aGlzIHNjZW5hcmlvIGFuZCBsb3NzIGhhcyB0byBiZSByZWNvdmVyZWQg YnkgUlRPLg0KPiA+IEFnYWluLCBJJ2QgYXBwcmVjaWF0ZSBmZWVkYmFjayBmcm9tIHRoZSBjb21t dW5pdHkuDQo+ID4NCj4gPiBSZWdhcmRzLA0KPiA+IExpYW5nIFRpYW4NCj4gPg0KPiA+DQo+ID4N Cj4gPg0KPiA+IE9uIFN1biwgQXVnIDIzLCAyMDIwIGF0IDM6NTYgUE0gU2NoZWZmZW5lZ2dlciwg UmljaGFyZCA8UmljaGFyZC5TY2hlZmZlbmVnZ2VyQG5ldGFwcC5jb20+IHdyb3RlOg0KPiA+ID4N Cj4gPiA+IEhpIExpYW5nLA0KPiA+ID4NCj4gPiA+IEluIFNBQ0sgbG9zcyByZWNvdmVyeSwgeW91 IGNhbiByZWNvdmVyIHVwIHRvIHNzdGhyZXNoIChwcmlvciBjd25kLzIgW29yIDcwJSBpbiBjYXNl IG9mIGN1YmljXSkgbG9zdCBieXRlcyAtIGF0IGxlYXN0IGluIHRoZW9yeS4NCj4gPiA+DQo+ID4g PiBJbiBjb21wYXJpc29uLCAoTmV3KVJlbm8gY2FuIG9ubHkgcmVjb3ZlciBvbmUgbG9zdCBwYWNr ZXQgcGVyIHdpbmRvdywgYW5kIHRoZW4ga2VlcHMgb24gdHJhbnNtaXR0aW5nIG5ldyBzZWdtZW50 cyAoYWNrICsgY3duZCksIGV2ZW4gYmVmb3JlIHRoZSByZWNlaXB0IG9mIHRoZSByZXRyYW5zbWl0 dGVkIHBhY2tldCBpcyBhY2tlZC4NCj4gPiA+DQo+ID4gPiBGb3IgaGlzdG9yaWMgcmVhc29ucywg dGhlIHNlbWFudGljIG9mIHRoZSB2YXJpYWJsZSBjd25kIGlzIG92ZXJsb2FkZWQgZHVyaW5nIGxv c3MgcmVjb3ZlcnksIGFuZCBpdCBkb2Vzbid0ICJyZWFsbHkiIGluZGljYXRlIGN3bmQsIGJ1dCBy YXRoZXIgaW5kaWNhdGVzIGlmL3doZW4gcmV0cmFuc21pc3Npb25zIGNhbiBoYXBwZW4uDQo+ID4g Pg0KPiA+ID4NCj4gPiA+IEluIGJvdGggY2FzZXMgKGFsc28gdGhlIHNpbXBsZSBvbmUsIHdpdGgg b25seSBvbmUgcGFja2V0IGxvc3MpLCBjd25kIHNob3VsZCBiZSBlcXVhbCAob3IgbmVhciBlcXVh bCkgdG8gc3N0aHJlc2ggYnkgdGhlIHRpbWUgbG9zcyByZWNvdmVyeSBpcyBmaW5pc2hlZCAtIGJ1 dCBOT1QgYmVmb3JlISBXaGlsZSBpdCBtYXkgYXBwZWFyIGxpa2Ugc2xvdy1zdGFydCwgdGhlIHZh bHVlIG9mIHRoZSBjd25kIHZhcmlhYmxlIHJlYWxseSBpbmNyZWFzZXMgYnkgYWNrZWRfYnl0ZXMg b25seSBwZXIgQUNLIChub3QgYWNrZWRfYnl0ZXMgKyBTTVNTKSwgc2luY2UgdGhlIGxlZnQgZWRn ZSAoc25kX3VuYSkgZG9lc24ndCBtb3ZlIHJpZ2h0IC0gdW5saWtlIGR1cmluZyBzbG93LXN0YXJ0 LiBCdXQgbnVtZXJpY2FsbHksIHRoZXNlIGRpZmZlcmVudCBwaGFzZXMgKHNsb3ctc3RhcnQgLyBz YWNrIGxvc3MtcmVjb3ZlcnkpIG1heSBhcHBlYXIgdmVyeSBzaW1pbGFyLg0KPiA+ID4NCj4gPiA+ IFlvdSBjb3VsZCBjaGVjayB0aGlzIHVzaW5nIHRoZSAobG9hZGFibGUpIFNJRlRSIG1vZHVsZSwg d2hpY2ggY2FwdHVyZXMgdF9mbGFncyAoaW5kaWNhdGluZyBpZiBjb25nL2xvc3MgcmVjb3Zlcnkg aXMgYWN0aXZlKSwgc3N0aHJlc2gsIGN3bmQsIGFuZCBvdGhlciBwYXJhbWV0ZXJzLg0KPiA+ID4N Cj4gPiA+IFRoYXQgaXMgYXQgbGVhc3QgaG93IHRoaW5ncyBhcmUgc3VwcG9zZWQgdG8gd29yazsg b3IgaGF2ZSB5b3UgaW52ZXN0aWdhdGVkIHRoZSB0aW1pbmcgYW5kIGJlaGF2aW9yIG9mIFNBQ0sg bG9zcyByZWNvdmVyeSBhbmQgZm91bmQgYSBkZXZpYXRpb24gdG8gUkZDMzUxNz8gTm90ZSB0aGF0 IEZCU0QgY3VycmVudGx5IGhhcyBub3QgZnVsbHkgaW1wbGVtZW50ZWQgUkZDNjY3NSBzdXBwb3J0 ICh3aGljaCBkZXZpYXRlcyBzbGlnaHRseSBmcm9tIDM1MTcgdW5kZXIgc3BlY2lmaWMgY2lyY3Vt c3RhbmNlczsgSSBoYXZlIGEgcGF0Y2ggcGVuZGluZyB0byBpbXBsZW1lbnRlIDY2NzUgcmVzY3Vl IHJldHJhbnNtaXNzaW9ucywgYnV0IGhhdmVuJ3QgdHdlYWtlZCB0aGUgb3RoZXIgYXNwZWN0cyBv ZiA2Njc1IHZzLiAzNTE3Lg0KPiA+ID4NCj4gPiA+IEJUVzogV2hpbGUgZnJlZWJzZC1uZXQgaXMg bm90IHRoZSB3cm9uZyBETCBwZXIgc2UsIFRDUCwgVURQLCBTQ1RQIHNwZWNpZmljIHF1ZXN0aW9u cyBjYW4gYWxzbyBiZSBwb3N0ZWQgdG8gZnJlZWJzZC10cmFuc3BvcnQsIHdoaWNoIGlzIG1vcmUg bmFycm93bHkgZm9jdXNlZC4NCj4gPiA+DQo+ID4gPiBCZXN0IHJlZ2FyZHMsDQo+ID4gPg0KPiA+ ID4gUmljaGFyZCBTY2hlZmZlbmVnZ2VyDQo+ID4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNz YWdlLS0tLS0NCj4gPiA+IEZyb206IG93bmVyLWZyZWVic2QtbmV0QGZyZWVic2Qub3JnIA0KPiA+ ID4gPG93bmVyLWZyZWVic2QtbmV0QGZyZWVic2Qub3JnPiBPbiBCZWhhbGYgT2YgTGlhbmcgVGlh bg0KPiA+ID4gU2VudDogU29ubnRhZywgMjMuIEF1Z3VzdCAyMDIwIDAwOjE0DQo+ID4gPiBUbzog ZnJlZWJzZC1uZXQgPGZyZWVic2QtbmV0QGZyZWVic2Qub3JnPg0KPiA+ID4gU3ViamVjdDogRmFz dCByZWNvdmVyeSBzc3RocmVzaCB2YWx1ZQ0KPiA+ID4NCj4gPiA+IEhpIGFsbCwNCj4gPiA+DQo+ ID4gPiBXaGVuIDMgZHVwYWNrcyBhcmUgcmVjZWl2ZWQgYW5kIFRDUCBlbnRlciBmYXN0IHJlY292 ZXJ5LCBpZiBTQUNLIGlzIHVzZWQsIHRoZSBDV05EIGlzIHNldCB0byBtYXhzZWc6DQo+ID4gPg0K PiA+ID4gMjU5MyAgICAgICAgICAgICAgICAgICAgIGlmICh0cC0+dF9mbGFncyAmIFRGX1NBQ0tf UEVSTUlUKSB7DQo+ID4gPiAyNTk0ICAgICAgICAgICAgICAgICAgICAgICAgIFRDUFNUQVRfSU5D KA0KPiA+ID4gMjU5NSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGNwc19zYWNrX3JlY292 ZXJ5X2VwaXNvZGUpOw0KPiA+ID4gMjU5NiAgICAgICAgICAgICAgICAgICAgICAgICB0cC0+c25k X3JlY292ZXIgPSB0cC0+c25kX254dDsNCj4gPiA+IDI1OTcgICAgICAgICAgICAgICAgICAgICAg ICAgdHAtPnNuZF9jd25kID0gbWF4c2VnOw0KPiA+ID4gMjU5OCAgICAgICAgICAgICAgICAgICAg ICAgICAodm9pZCkgdHAtPnRfZmItPnRmYl90Y3Bfb3V0cHV0KHRwKTsNCj4gPiA+IDI1OTkgICAg ICAgICAgICAgICAgICAgICAgICAgZ290byBkcm9wOw0KPiA+ID4gMjYwMCAgICAgICAgICAgICAg ICAgICAgIH0NCj4gPiA+DQo+ID4gPiBPdGhlcndpc2UoU0FDSyBpcyBub3QgaW4gdXNlKSwgQ1dO RCBpcyBzZXQgdG8gbWF4c2VnIGJlZm9yZQ0KPiA+ID4gdGNwX291dHB1dCgpIGFuZCB0aGVuIHNl dCBiYWNrIHRvIHNuZF9zc3RocmVzaCtpbmZsYXRpb24NCj4gPiA+IDI2MDEgICAgICAgICAgICAg ICAgICAgICB0cC0+c25kX254dCA9IHRoLT50aF9hY2s7DQo+ID4gPiAyNjAyICAgICAgICAgICAg ICAgICAgICAgdHAtPnNuZF9jd25kID0gbWF4c2VnOw0KPiA+ID4gMjYwMyAgICAgICAgICAgICAg ICAgICAgICh2b2lkKSB0cC0+dF9mYi0+dGZiX3RjcF9vdXRwdXQodHApOw0KPiA+ID4gMjYwNCAg ICAgICAgICAgICAgICAgICAgIEtBU1NFUlQodHAtPnNuZF9saW1pdGVkIDw9IDIsDQo+ID4gPiAy NjA1ICAgICAgICAgICAgICAgICAgICAgICAgICgiJXM6IHRwLT5zbmRfbGltaXRlZCB0b28gYmln IiwNCj4gPiA+IDI2MDYgICAgICAgICAgICAgICAgICAgICAgICAgX19mdW5jX18pKTsNCj4gPiA+ IDI2MDcgICAgICAgICAgICAgICAgICAgICB0cC0+c25kX2N3bmQgPSB0cC0+c25kX3NzdGhyZXNo ICsNCj4gPiA+IDI2MDggICAgICAgICAgICAgICAgICAgICAgICAgIG1heHNlZyAqDQo+ID4gPiAy NjA5ICAgICAgICAgICAgICAgICAgICAgICAgICAodHAtPnRfZHVwYWNrcyAtIHRwLT5zbmRfbGlt aXRlZCk7DQo+ID4gPiAyNjEwICAgICAgICAgICAgICAgICAgICAgaWYgKFNFUV9HVChvbnh0LCB0 cC0+c25kX254dCkpDQo+ID4gPiAyNjExICAgICAgICAgICAgICAgICAgICAgICAgIHRwLT5zbmRf bnh0ID0gb254dDsNCj4gPiA+IDI2MTIgICAgICAgICAgICAgICAgICAgICBnb3RvIGRyb3A7DQo+ ID4gPg0KPiA+ID4gSSdtIHdvbmRlcmluZyBpbiB0aGUgU0FDSyBjYXNlLCBzaG91bGQgQ1dORCBi ZSBzZXQgYmFjayB0byBzc3RocmVzaCh3aGljaCBoYXMgYmVlbiBzbGFzaGVkIGluIGNjX2Nvbmdf c2lnbmFsKCkgYSBmZXcgbGluZXMgYWJvdmUpIGJlZm9yZSBsaW5lIDI1OTksIGxpa2Ugbm9uLVNB Q0sgY2FzZSwgaW5zdGVhZCBvZiBkb2luZyBzbG93IHN0YXJ0IGZyb20gbWF4c2VnPw0KPiA+ID4g SSByZWFkIHJmYzY2NzUgYW5kIGEgZmV3IG90aGVycywgYW5kIGl0IGxvb2tzIGxpa2UgdGhhdCdz IHRoZSBjYXNlLiBJIGFwcHJlY2lhdGUgeW91ciBvcGluaW9uLCBhZ2Fpbi4NCj4gPiA+DQo+ID4g PiBUaGFua3MsDQo+ID4gPiBMaWFuZw0KPiA+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18NCj4gPiA+IGZyZWVic2QtbmV0QGZyZWVic2Qub3JnIG1haWxp bmcgbGlzdCANCj4gPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWJzZC5vcmcvbWFpbG1hbi9saXN0aW5m by9mcmVlYnNkLW5ldA0KPiA+ID4gVG8gdW5zdWJzY3JpYmUsIHNlbmQgYW55IG1haWwgdG8gImZy ZWVic2QtbmV0LXVuc3Vic2NyaWJlQGZyZWVic2Qub3JnIg0KPiA+IF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ID4gZnJlZWJzZC10cmFuc3BvcnRAZnJl ZWJzZC5vcmcgbWFpbGluZyBsaXN0IA0KPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWJzZC5vcmcvbWFp bG1hbi9saXN0aW5mby9mcmVlYnNkLXRyYW5zcG9ydA0KPiA+IFRvIHVuc3Vic2NyaWJlLCBzZW5k IGFueSBtYWlsIHRvICJmcmVlYnNkLXRyYW5zcG9ydC11bnN1YnNjcmliZUBmcmVlYnNkLm9yZyIN Cg== From owner-freebsd-transport@freebsd.org Tue Sep 15 20:22:19 2020 Return-Path: Delivered-To: freebsd-transport@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BBEE13DF37A for ; Tue, 15 Sep 2020 20:22:19 +0000 (UTC) (envelope-from l.tian.email@gmail.com) Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com [IPv6:2a00:1450:4864:20::532]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BrZQf68zNz4bST for ; Tue, 15 Sep 2020 20:22:18 +0000 (UTC) (envelope-from l.tian.email@gmail.com) Received: by mail-ed1-x532.google.com with SMTP id ay8so4314375edb.8 for ; Tue, 15 Sep 2020 13:22:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=1QboG6c2Dj/HvQj2B0KQShJu/JK1ioeqe71uJJlkve4=; b=owGUjBG52AjOQ0kInvEBtO6oH37KXaF/D67MMJ1Ea9V3QRYb0qD3/8NKXsk+1M+MdO oZNoHMuqpLzpISi9OmZpBJv3VayGqig1FH82IxbwbLBwo1bUxtTFzm+9sB5BbaOn7Wmv FGr+x2716R1qfQxa0/kxiw2///vnmDkip8lfifWxxFo6PeX+adFkIuXZ3/vyV21Ij16q a2tjtDT2R1WxfUQ69IN4FytNnUjdqv7htPG0rSk/nI6Jg/wdf8np4qMSkK0OC1eh8tjr UqePPJQb0b2+WNHB2kQHweJvVY69sgyiZBetO2ImlQkvupKHxPIAM6mxuHit2XNGdc+x 3UHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=1QboG6c2Dj/HvQj2B0KQShJu/JK1ioeqe71uJJlkve4=; b=OjXgWorkLeHMjDM+VuRWXEFg6RAYa62JliTn6eK/FUaBUsmcwGwiPhWd6GQa0Z+iB7 g2v+2VdLceCPDIPO77Yvkb+ypjK+SJrOu1h2az+3qzEwHCDu7UtMX2PpDjvbRcC9HhjA 8S72DppamIcB7I0ygjH5Q41+q7TQ8wJo99xvwULwmlDQ16yE5k59nvrou4VjCG/zdw0W R6dqPqFTT4cfXwoyLEibXvMYGP84N3jo4aL8aq+ZyA0iNm9FYW6hP8oe8sbjYilOJW+n 2wo0KWsbWkEvE2AmHFh1m/UXlGY05FEoC1LvJxZFO/tK8ZbvhVAx6ozh2TkUvsfQtu2m 0eDQ== X-Gm-Message-State: AOAM530C2ykEGo7HpwApr9EsxKRDX2Bpoi0O60B5yfVy2cCwhwqZKeMM vvXRuDZuTEa9OhcR3kLs2ZxinEW3rpB9o0yKLgtbRpdVs+Q= X-Google-Smtp-Source: ABdhPJwvqO91Tw+p4f4yWBAwmo2QtzuV/jO3GutTrln/R2HyY7sYoyFEpBNaACWbCyDxoZUyBE7J3LTGWv7RXBJhptU= X-Received: by 2002:aa7:c154:: with SMTP id r20mr24644396edp.337.1600201336648; Tue, 15 Sep 2020 13:22:16 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Liang Tian Date: Tue, 15 Sep 2020 16:22:04 -0400 Message-ID: Subject: Re: Fast recovery ssthresh value To: "Scheffenegger, Richard" Cc: FreeBSD Transport Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4BrZQf68zNz4bST X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=owGUjBG5; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of ltianemail@gmail.com designates 2a00:1450:4864:20::532 as permitted sender) smtp.mailfrom=ltianemail@gmail.com X-Spamd-Result: default: False [-3.05 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; RCVD_TLS_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36:c]; FREEMAIL_FROM(0.00)[gmail.com]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-transport@freebsd.org]; NEURAL_HAM_LONG(-1.00)[-1.000]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; RCVD_IN_DNSWL_NONE(0.00)[2a00:1450:4864:20::532:from]; NEURAL_HAM_SHORT(-0.05)[-0.054]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; TAGGED_FROM(0.00)[]; MAILMAN_DEST(0.00)[freebsd-transport]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-transport@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: Discussions of transport level network protocols in FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Sep 2020 20:22:19 -0000 Hi Richard, Thanks. It works well now. We also had an observation that the majority of tinygrams were caused by the t_maxseg usage in tcp_sack_partialack(). Now with PRR we rarely see tinygrams because 1) tcp_sack_partialack() is no longer called 2) the updated PRR patch Just one comment on the patch: line 2546 is redundant because maxseg is already defined and calculated in line 2477 Regards, Liang On Tue, Sep 15, 2020 at 10:35 AM Scheffenegger, Richard wrote: > > Hi Liang, > > I was about to send out this email notifying you of the changes to the pa= tch, where you uncovered the issues with TSopt enabled TCP flows. > > https://reviews.freebsd.org/D18892 > > Can you please re-patch your test machine with this updated version (I fi= xed one merge issue due to whitespace cleanup recently too, so it should ap= ply cleanly to HEAD now). > > Please let us know and share any comments and criticism about this patch! > > Thanks again for testing - and finding the overlooked combination with ti= mestamps. > > > Richard Scheffenegger > > -----Original Message----- > From: Liang Tian > Sent: Freitag, 11. September 2020 19:02 > To: Scheffenegger, Richard > Cc: FreeBSD Transport > Subject: Re: Fast recovery ssthresh value > > NetApp Security WARNING: This is an external email. Do not click links or= open attachments unless you recognize the sender and know the content is s= afe. > > > > > Hi Richard, > > Initial tests show PRR is doing quite well. See trace below showing respo= nse to TSval 2713381916 and 2713381917. > I have a comment on the patch: I think all the tp->t_maxseg should be rep= laced with maxseg in the diff (https://reviews.freebsd.org/D18892), > where maxseg =3D tcp_maxseg(tp). This will take TCP options(timestamp in = this case) into account and avoid sending the tinygrams with len 120 and 36= in the trace below. > Interestingly we were also chasing another issue where we see a lot of > 12 bytes segments when retransmission happens(before applying PRT patch),= we are suspecting the mixed usage of t_maxseg and maxseg =3D > tcp_maxseg(tp) in the tcp code is causing this: the CCA modules are all u= sing t_maxseg for CWND increase instead of effective SMSS. > > [TCP Dup ACK 41541#3] 52466 > 80 [ACK] Seq=3D156 Ack=3D44596441 > Win=3D3144704 Len=3D0 TSval=3D2713381914 TSecr=3D1636604730 SLE=3D4678531= 7 > SRE=3D46790869 > [TCP Dup ACK 41541#4] 52466 > 80 [ACK] Seq=3D156 Ack=3D44596441 > Win=3D3144704 Len=3D0 TSval=3D2713381916 TSecr=3D1636604730 SLE=3D4678531= 7 > SRE=3D46804749 > [TCP Dup ACK 41541#5] 52466 > 80 [ACK] Seq=3D156 Ack=3D44596441 > Win=3D3144704 Len=3D0 TSval=3D2713381917 TSecr=3D1636604730 SLE=3D4678531= 7 > SRE=3D46808913 > [TCP Out-Of-Order] 80 > 52466 [ACK] Seq=3D44597853 Ack=3D156 Win=3D1048= 576 > Len=3D1388 TSval=3D1636604904 TSecr=3D2713381916 [TCP Out-Of-Order] 80 >= 52466 [ACK] Seq=3D44599241 Ack=3D156 Win=3D1048576 > Len=3D1388 TSval=3D1636604904 TSecr=3D2713381916 [TCP Out-Of-Order] 80 >= 52466 [ACK] Seq=3D44600629 Ack=3D156 Win=3D1048576 > Len=3D1388 TSval=3D1636604904 TSecr=3D2713381916 [TCP Out-Of-Order] 80 >= 52466 [ACK] Seq=3D44602017 Ack=3D156 Win=3D1048576 > Len=3D1388 TSval=3D1636604904 TSecr=3D2713381916 [TCP Out-Of-Order] 80 >= 52466 [ACK] Seq=3D44603405 Ack=3D156 Win=3D1048576 > Len=3D1388 TSval=3D1636604904 TSecr=3D2713381916 [TCP Out-Of-Order] 80 >= 52466 [ACK] Seq=3D44604793 Ack=3D156 Win=3D1048576 > Len=3D1388 TSval=3D1636604904 TSecr=3D2713381916 [TCP Out-Of-Order] 80 >= 52466 [ACK] Seq=3D44606181 Ack=3D156 Win=3D1048576 > Len=3D1388 TSval=3D1636604904 TSecr=3D2713381916 [TCP Out-Of-Order] 80 >= 52466 [ACK] Seq=3D44607569 Ack=3D156 Win=3D1048576 > Len=3D1388 TSval=3D1636604904 TSecr=3D2713381916 [TCP Out-Of-Order] 80 >= 52466 [ACK] Seq=3D44608957 Ack=3D156 Win=3D1048576 > Len=3D1388 TSval=3D1636604904 TSecr=3D2713381916 [TCP Out-Of-Order] 80 >= 52466 [ACK] Seq=3D44610345 Ack=3D156 Win=3D1048576 > Len=3D1388 TSval=3D1636604904 TSecr=3D2713381916 [TCP Out-Of-Order] 80 >= 52466 [ACK] Seq=3D44611733 Ack=3D156 Win=3D1048576 > Len=3D120 TSval=3D1636604904 TSecr=3D2713381916 [TCP Out-Of-Order] 80 > = 52466 [ACK] Seq=3D44611853 Ack=3D156 Win=3D1048576 > Len=3D1388 TSval=3D1636604905 TSecr=3D2713381917 [TCP Out-Of-Order] 80 >= 52466 [ACK] Seq=3D44613241 Ack=3D156 Win=3D1048576 > Len=3D1388 TSval=3D1636604905 TSecr=3D2713381917 [TCP Out-Of-Order] 80 >= 52466 [ACK] Seq=3D44614629 Ack=3D156 Win=3D1048576 > Len=3D1388 TSval=3D1636604905 TSecr=3D2713381917 [TCP Out-Of-Order] 80 >= 52466 [ACK] Seq=3D44616017 Ack=3D156 Win=3D1048576 > Len=3D36 TSval=3D1636604905 TSecr=3D2713381917 [TCP Dup ACK 41541#6] 5246= 6 > 80 [ACK] Seq=3D156 Ack=3D44596441 > Win=3D3144704 Len=3D0 TSval=3D2713381925 TSecr=3D1636604730 SLE=3D4678531= 7 > SRE=3D46867209 > [TCP Out-Of-Order] 80 > 52466 [ACK] Seq=3D44616053 Ack=3D156 Win=3D1048= 576 > Len=3D1388 TSval=3D1636604912 TSecr=3D2713381925 [TCP Out-Of-Order] 80 >= 52466 [ACK] Seq=3D44617441 Ack=3D156 Win=3D1048576 > Len=3D1388 TSval=3D1636604912 TSecr=3D2713381925 > > Thanks, > Liang > ... > > On Fri, Sep 11, 2020 at 3:40 AM Scheffenegger, Richard wrote: > > > > Perfect! > > > > Please share your findings then, as reviews (including informal ones) a= re needed prior to me committing this patch. > > > > Note that it builds upon D18624, which is currently in stable/12 and he= ad, but not any released branches. So you may need to apply that too if you= aren't using head. > > > > Best regards, > > > > > > Richard Scheffenegger > > > > -----Original Message----- > > From: Liang Tian > > Sent: Freitag, 11. September 2020 06:06 > > To: Scheffenegger, Richard ; FreeBSD > > Transport > > Subject: Re: Fast recovery ssthresh value > > > > NetApp Security WARNING: This is an external email. Do not click links = or open attachments unless you recognize the sender and know the content is= safe. > > > > > > > > > > Hi Richard, > > > > Thanks! I'm able to apply the patches. I'll test it. > > > > Regards, > > Liang > > > > > > > > On Thu, Sep 10, 2020 at 5:49 AM Scheffenegger, Richard wrote: > > > > > > Hi Liang, > > > > > > Yes, you are absolutely correct about this observation. The SACK loss= recovery will only send one MSS per received ACK right now - and when the= re is ACK thinning present, will fail to timely recover all the missing pac= kets, eventually receiving no more ACK to clock out more retransmissions... > > > > > > I have a Diff in review, to implement Proportional Rate Reduction: > > > > > > https://reviews.freebsd.org/D18892 > > > > > > Which should address not only that issue about ACK thinning, but also= the issue that current SACK loss recovery has to wait until pipe drops bel= ow ssthresh, before the retransmissions are clocked out. And then, they wou= ld actually be clocked out at the same rate at the incoming ACKs. This woul= d be the same rate as when the overload happened (barring any ACK thinning)= , and as a secondary effect, it was observed that this behavior too can lea= d to self-inflicted loss - of retransmissions. > > > > > > If you have the ability to patch your kernel with D18892 and observe = how the reaction is in your dramatic ACK thinning scenario, that would be g= ood to know! The assumption of the Patch was, that - as per TCP RFC require= ments - there is one ACK for each received out-of-sequence data segment, an= d ACK drops / thinning are not happening on such a massive scale as you des= cribe it. > > > > > > Best regards, > > > > > > Richard Scheffenegger > > > > > > -----Original Message----- > > > From: owner-freebsd-transport@freebsd.org > > > On Behalf Of Liang Tian > > > Sent: Mittwoch, 9. September 2020 19:16 > > > To: Scheffenegger, Richard > > > Cc: FreeBSD Transport > > > Subject: Re: Fast recovery ssthresh value > > > > > > Hi Richard, > > > > > > Thanks for the explanation and sorry for the late reply. > > > I've been investigating SACK loss recovery and I think I'm seeing an > > > issue similar to the ABC L value issue that I reported > > > previously(https://reviews.freebsd.org/D26120) and I do believe there= is a deviation to RFC3517: > > > The issue happens when a DupAck is received during SACK loss recovery= in the presence of ACK Thinning or receiver enabling LRO, which means the = SACK block edges could expand by more than 1 SMSS(We've seen 30*SMSS), i.e.= a single DupAck could decrement `pipe` by more than 1 SMSS. > > > In RFC3517, > > > (C) If cwnd - pipe >=3D 1 SMSS, the sender SHOULD transmit one or mor= e segments... > > > (C.5) If cwnd - pipe >=3D 1 SMSS, return to (C.1) So based on= RFC, the sender should be able to send more segments if such DupAck is rec= eived, because of the big change to `pipe`. > > > > > > In the current implementation, the cwin variable, which controls the = amount of data that can be transmitted based on the new information, is dic= tated by snd_cwnd. The snd_cwnd is incremented by 1 SMSS for each DupAck re= ceived. I believe this effectively limits the retransmission triggered by e= ach DupAck to 1 SMSS - deviation. > > > 307 cwin =3D > > > 308 imax(min(tp->snd_wnd, tp->snd_cwnd) - sack_bytes_rxm= t, 0); > > > > > > As a result, SACK is not doing enough recovery in this scenario and l= oss has to be recovered by RTO. > > > Again, I'd appreciate feedback from the community. > > > > > > Regards, > > > Liang Tian > > > > > > > > > > > > > > > On Sun, Aug 23, 2020 at 3:56 PM Scheffenegger, Richard wrote: > > > > > > > > Hi Liang, > > > > > > > > In SACK loss recovery, you can recover up to ssthresh (prior cwnd/2= [or 70% in case of cubic]) lost bytes - at least in theory. > > > > > > > > In comparison, (New)Reno can only recover one lost packet per windo= w, and then keeps on transmitting new segments (ack + cwnd), even before th= e receipt of the retransmitted packet is acked. > > > > > > > > For historic reasons, the semantic of the variable cwnd is overload= ed during loss recovery, and it doesn't "really" indicate cwnd, but rather = indicates if/when retransmissions can happen. > > > > > > > > > > > > In both cases (also the simple one, with only one packet loss), cwn= d should be equal (or near equal) to ssthresh by the time loss recovery is = finished - but NOT before! While it may appear like slow-start, the value o= f the cwnd variable really increases by acked_bytes only per ACK (not acked= _bytes + SMSS), since the left edge (snd_una) doesn't move right - unlike d= uring slow-start. But numerically, these different phases (slow-start / sac= k loss-recovery) may appear very similar. > > > > > > > > You could check this using the (loadable) SIFTR module, which captu= res t_flags (indicating if cong/loss recovery is active), ssthresh, cwnd, a= nd other parameters. > > > > > > > > That is at least how things are supposed to work; or have you inves= tigated the timing and behavior of SACK loss recovery and found a deviation= to RFC3517? Note that FBSD currently has not fully implemented RFC6675 sup= port (which deviates slightly from 3517 under specific circumstances; I hav= e a patch pending to implemente 6675 rescue retransmissions, but haven't tw= eaked the other aspects of 6675 vs. 3517. > > > > > > > > BTW: While freebsd-net is not the wrong DL per se, TCP, UDP, SCTP s= pecific questions can also be posted to freebsd-transport, which is more na= rrowly focused. > > > > > > > > Best regards, > > > > > > > > Richard Scheffenegger > > > > > > > > -----Original Message----- > > > > From: owner-freebsd-net@freebsd.org > > > > On Behalf Of Liang Tian > > > > Sent: Sonntag, 23. August 2020 00:14 > > > > To: freebsd-net > > > > Subject: Fast recovery ssthresh value > > > > > > > > Hi all, > > > > > > > > When 3 dupacks are received and TCP enter fast recovery, if SACK is= used, the CWND is set to maxseg: > > > > > > > > 2593 if (tp->t_flags & TF_SACK_PERMIT) { > > > > 2594 TCPSTAT_INC( > > > > 2595 tcps_sack_recovery_episode); > > > > 2596 tp->snd_recover =3D tp->snd_nxt; > > > > 2597 tp->snd_cwnd =3D maxseg; > > > > 2598 (void) tp->t_fb->tfb_tcp_output(tp); > > > > 2599 goto drop; > > > > 2600 } > > > > > > > > Otherwise(SACK is not in use), CWND is set to maxseg before > > > > tcp_output() and then set back to snd_ssthresh+inflation > > > > 2601 tp->snd_nxt =3D th->th_ack; > > > > 2602 tp->snd_cwnd =3D maxseg; > > > > 2603 (void) tp->t_fb->tfb_tcp_output(tp); > > > > 2604 KASSERT(tp->snd_limited <=3D 2, > > > > 2605 ("%s: tp->snd_limited too big", > > > > 2606 __func__)); > > > > 2607 tp->snd_cwnd =3D tp->snd_ssthresh + > > > > 2608 maxseg * > > > > 2609 (tp->t_dupacks - tp->snd_limited); > > > > 2610 if (SEQ_GT(onxt, tp->snd_nxt)) > > > > 2611 tp->snd_nxt =3D onxt; > > > > 2612 goto drop; > > > > > > > > I'm wondering in the SACK case, should CWND be set back to ssthresh= (which has been slashed in cc_cong_signal() a few lines above) before line = 2599, like non-SACK case, instead of doing slow start from maxseg? > > > > I read rfc6675 and a few others, and it looks like that's the case.= I appreciate your opinion, again. > > > > > > > > Thanks, > > > > Liang > > > > _______________________________________________ > > > > freebsd-net@freebsd.org mailing list > > > > https://lists.freebsd.org/mailman/listinfo/freebsd-net > > > > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.o= rg" > > > _______________________________________________ > > > freebsd-transport@freebsd.org mailing list > > > https://lists.freebsd.org/mailman/listinfo/freebsd-transport > > > To unsubscribe, send any mail to "freebsd-transport-unsubscribe@freeb= sd.org" From owner-freebsd-transport@freebsd.org Tue Sep 15 20:49:41 2020 Return-Path: Delivered-To: freebsd-transport@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4B0EB3DFDCD for ; Tue, 15 Sep 2020 20:49:41 +0000 (UTC) (envelope-from Richard.Scheffenegger@netapp.com) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2071.outbound.protection.outlook.com [40.107.237.71]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "GlobalSign Organization Validation CA - SHA256 - G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Brb2D2W68z4d3y for ; Tue, 15 Sep 2020 20:49:39 +0000 (UTC) (envelope-from Richard.Scheffenegger@netapp.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jSXjRfCpyZXfyiORt8xcnaKNGIdOsN7WXveLIS2rCMP2uo66idCjQt/+vhRg6/ufhZ4kaETVhADuVeko4ApqpGR/+6J+NC7/oUdwmZWKGZQlBvLGsarfqVih6AYVsnuvsAS86iW3f9+o7bmLArcgjhvylBw4n6rFIqR9CBR/FkUMiZc1m2l51OUcxmgbnk/skvzNYK6PManNG6ELYTOG8ZqBgHf2398MViArsKfg9thGuckHe8DVmswXzq178i7tQ3UDTYL2VCC1QOCPxFjYJJ/lbMWlsRuK+dHVzPoPiPCigez2oKgz6NYyy3VIdXL97R3efEtEkRFAUQZD1sT3UQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=A0Hd96nkPDestnzHNOF/OyN+sF6YWlmxB+pkV9+hQIY=; b=CTWJo4ntjKTmm4VXXvTZHbsx45hO3mvrsvnPeHQaaGoDqPqm61IIVhzZFAnABqtn9P4zD+reYJA8Fi5Bnbq1JJR3Kd2KYVhq8AgSXxbVDv59ZddcYHwNyuyJIK1Mn8HI/hgAZlYCNHBQKxF4SK+ohv5tcISM6QxURaaaqx8nI/WqbgGfAYxEXaTzEbZ5KO1F501gyl9L2NNMsyABw3ydFHj6j5WCWW/82I4cvT3bGyKuU99dKfQ+HRBrsd5MispixUEgm+klEsGPXlK9BaLgediYe2iMkIbzN/OT0r4D430wfSlGSD9f7tje1vS6IxX2v4LdAyMUR0suU1oyBEDTeA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=netapp.com; dmarc=pass action=none header.from=netapp.com; dkim=pass header.d=netapp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netapp.onmicrosoft.com; s=selector1-netapp-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=A0Hd96nkPDestnzHNOF/OyN+sF6YWlmxB+pkV9+hQIY=; b=0fycO/9ElkgMfOCU2h4NsxzCbETDUOmQZe/gH5TWTBDYqF1y94JkTP/zprvGCU5humRrJrXvg4dtMlFpAg8lEbf2wdNW0jgxxX9tCIlRSxsLZwm2DYvVjWsDr4Jkg3bkGf88GIhPkWEj0um3IUlhgnx6cCWQ6cnGK3rSZuJExUY= Received: from SN4PR0601MB3728.namprd06.prod.outlook.com (2603:10b6:803:51::24) by SA0PR06MB6891.namprd06.prod.outlook.com (2603:10b6:806:ba::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3370.16; Tue, 15 Sep 2020 20:49:38 +0000 Received: from SN4PR0601MB3728.namprd06.prod.outlook.com ([fe80::84a9:fc74:7eed:ca3a]) by SN4PR0601MB3728.namprd06.prod.outlook.com ([fe80::84a9:fc74:7eed:ca3a%7]) with mapi id 15.20.3370.019; Tue, 15 Sep 2020 20:49:38 +0000 From: "Scheffenegger, Richard" To: Liang Tian CC: FreeBSD Transport Subject: RE: Fast recovery ssthresh value Thread-Topic: Fast recovery ssthresh value Thread-Index: AQHWeNGXKLXrd0Ypk0G/FpBfyhwhfqlGGMBAgBqPXACAARNjQIABNHEAgAA7XmCAAJ24gIAF8pSggACOgwCAAAbyMA== Date: Tue, 15 Sep 2020 20:49:38 +0000 Message-ID: References: In-Reply-To: Accept-Language: de-AT, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [217.70.211.12] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d4432f9d-2ff9-4245-2a13-08d859b8dc95 x-ms-traffictypediagnostic: SA0PR06MB6891: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: IeFTGkQKTxv+AbmXhktyB8W7d5TJjhv4jYVG2EvGQen49k7S4DxvrI1d8l89e6eYWCEIBIilfQXWZROLLhEW8HBdNpWCAWSY3M8Cqvd8fYPuOobMdyqtFXmhTzJBgQLUjmxlWsyaWvpPKR5fsSW38H/sA5zyu8eaoIQ/1AXc8/1qUXiIrU6eNDbm//GL4+9y9ddNkK+coAlQhQJ/wU2kM8W+T1CXIXewF0inAbmUaX4gN67UcNIADW4xIUnUR/vzkvg/GFkqtGxYMdw3eTEsWdV72e/19wNUhHmp6FGgmhUU6bUl434587TN6Qy2FfDsMeeQhN71pLnrqF/ngob5exXD20YKoCP+0uHxJc912HxvXcmUDSrEqU2+46z1QTWbTuYX27OtLFJhJKxe4otdrA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN4PR0601MB3728.namprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(376002)(396003)(346002)(136003)(39860400002)(316002)(6506007)(55016002)(966005)(9686003)(33656002)(53546011)(76116006)(64756008)(66446008)(66476007)(26005)(66946007)(66556008)(86362001)(8936002)(5660300002)(2906002)(3480700007)(83380400001)(4326008)(8676002)(186003)(6916009)(71200400001)(478600001)(30864003)(7696005)(52536014); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: 1uevvdGF1RNUkeTr6l1VmbF9PLiehOGUyzz7cxQZ22ry8BD9dgvS2JO/NOOqPQwc6LyBv+8fG2uzQpHqkIkSYU+uK+7SyHha7X4c4ErPMELybfB1uhDOf097GwkDA9BK7uKXe4QLKTrStnvWcRWBJwbEAUlsgLIx/Ki4JR445wpst+IztQymvwTqJU47/KRRBayup1ywfsXIahRBXjQVI46vyvaapkLXt2jEsVDv5FIm+jF6yQcfiyPjrjraK7uOr8lAggGhgnDUJeucGniAJCNOLn1xOUKl5Rc6V52nbAIyxzhif2JS8H3BjySVUxuqAL3lLNbvLgdrUGoLkh7xCqTLLdnv5BkyQ/GZGg7THQw7XHVfth1zU3EMpLdJQKrzxoOKfuPi6lt46Ak8qaVRZzj6VDIrfDp0JB5cNC79poKDC0VmJFATXR5DOkIs7URlGyNYOaNODZbaKHESTaJIrQXw6JE/Dtj6cZSD7K5Qv85Zdmi7GbR93Y6ilUCugwPdMw3uVKiM9B9fYr54P3FE33H1ok4wtEYfVSqCSJ4VMyL30KlC4g5ZHEdhRJ1BleAjzHMxGg69qWr7AXddkePk5Ag4CinzIuwJFX2+Ubd9/hVST/6rs7yoSpPhmOG9VmlrljKS1NI2O8Ntm1kfX3c73g== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: netapp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN4PR0601MB3728.namprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d4432f9d-2ff9-4245-2a13-08d859b8dc95 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Sep 2020 20:49:38.0733 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4b0911a0-929b-4715-944b-c03745165b3a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 676sOYhbw3ZYP6SSA3VbRVDLS4EvWj+qMrcfWty2usHrJQe7Dj40crwA1tl3RGS32O93AZBVK0F/iA2veVaPgw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR06MB6891 X-Rspamd-Queue-Id: 4Brb2D2W68z4d3y X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=netapp.onmicrosoft.com header.s=selector1-netapp-onmicrosoft-com header.b=0fycO/9E; dmarc=none; spf=pass (mx1.freebsd.org: domain of Richard.Scheffenegger@netapp.com designates 40.107.237.71 as permitted sender) smtp.mailfrom=Richard.Scheffenegger@netapp.com X-Spamd-Result: default: False [-2.89 / 15.00]; HAS_XOIP(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:40.107.0.0/16]; MIME_BASE64_TEXT_BOGUS(1.00)[]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[netapp.onmicrosoft.com:+]; MIME_BASE64_TEXT(0.10)[]; RCPT_COUNT_TWO(0.00)[2]; NEURAL_HAM_SHORT(-0.51)[-0.508]; FREEMAIL_TO(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:8075, ipnet:40.104.0.0/14, country:US]; ARC_ALLOW(-1.00)[microsoft.com:s=arcselector9901:i=1]; NEURAL_HAM_MEDIUM(-0.96)[-0.963]; R_DKIM_ALLOW(-0.20)[netapp.onmicrosoft.com:s=selector1-netapp-onmicrosoft-com]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.02)[-1.022]; MIME_GOOD(-0.10)[text/plain]; TAGGED_RCPT(0.00)[]; DMARC_NA(0.00)[netapp.com]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[40.107.237.71:from]; RWL_MAILSPIKE_POSSIBLE(0.00)[40.107.237.71:from]; MAILMAN_DEST(0.00)[freebsd-transport] X-BeenThere: freebsd-transport@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: Discussions of transport level network protocols in FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Sep 2020 20:49:41 -0000 VGhhbmsgeW91IGZvciBzcG90dGluZyB0aGlzIC0gSSBhZG1pdCBJJ3ZlIG5vdCBzY2FubmVkIHRo ZSBjb250ZXh0IGZhciBlbm91Z2ggdXAuDQoNCkFsc28sIGFzIHlvdSByZXBvcnRlZCB0aGUgc2Ft ZSBpc3N1ZSB3aXRoIHJlZ3VsYXIgU0FDSywgSSBjcmVhdGVkIHRoaXMgRGlmZiwgdG8gYWxzbyBh ZGRyZXNzIHRoaXMgcGFydGljdWxhciB0aW55Z3JhbSBpc3N1ZSB3aGlsZSBTQUNLIGxvc3MgcmVj b3ZlcnkgaXMgb24tZ29pbmcuIExvb2tpbmcgdXAgdGhlIGNvcnJlY3QgcGFja2V0IHNpemUgaW4g YWxsIHRoZSBzbG93LXBhdGggcHJvY2Vzc2luZyBzaG91bGRuJ3QgYmUgcHJvYmxlbWF0aWMgYXQg YWxsLCB3aGlsZSBpbXByb3ZpbmcgdGhlIG5ldHdvcmsgZWZmaWNpZW5jeSBieSBhdm9pZGluZyB0 aGUgdHJhbnNtaXNzaW9uIG9mIHRpbnlncmFtcy4NCg0KaHR0cHM6Ly9yZXZpZXdzLmZyZWVic2Qu b3JnL0QyNjQ0Ng0KDQoNClJpY2hhcmQgU2NoZWZmZW5lZ2dlcg0KDQoNCi0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQpGcm9tOiBMaWFuZyBUaWFuIDxsLnRpYW4uZW1haWxAZ21haWwuY29tPiAN ClNlbnQ6IERpZW5zdGFnLCAxNS4gU2VwdGVtYmVyIDIwMjAgMjI6MjINClRvOiBTY2hlZmZlbmVn Z2VyLCBSaWNoYXJkIDxSaWNoYXJkLlNjaGVmZmVuZWdnZXJAbmV0YXBwLmNvbT4NCkNjOiBGcmVl QlNEIFRyYW5zcG9ydCA8ZnJlZWJzZC10cmFuc3BvcnRAZnJlZWJzZC5vcmc+DQpTdWJqZWN0OiBS ZTogRmFzdCByZWNvdmVyeSBzc3RocmVzaCB2YWx1ZQ0KDQpOZXRBcHAgU2VjdXJpdHkgV0FSTklO RzogVGhpcyBpcyBhbiBleHRlcm5hbCBlbWFpbC4gRG8gbm90IGNsaWNrIGxpbmtzIG9yIG9wZW4g YXR0YWNobWVudHMgdW5sZXNzIHlvdSByZWNvZ25pemUgdGhlIHNlbmRlciBhbmQga25vdyB0aGUg Y29udGVudCBpcyBzYWZlLg0KDQoNCg0KDQpIaSBSaWNoYXJkLA0KDQpUaGFua3MuIEl0IHdvcmtz IHdlbGwgbm93LiBXZSBhbHNvIGhhZCBhbiBvYnNlcnZhdGlvbiB0aGF0IHRoZSBtYWpvcml0eSBv ZiB0aW55Z3JhbXMgd2VyZSBjYXVzZWQgYnkgdGhlIHRfbWF4c2VnIHVzYWdlIGluIHRjcF9zYWNr X3BhcnRpYWxhY2soKS4gTm93IHdpdGggUFJSIHdlIHJhcmVseSBzZWUgdGlueWdyYW1zIGJlY2F1 c2UgMSkNCnRjcF9zYWNrX3BhcnRpYWxhY2soKSBpcyBubyBsb25nZXIgY2FsbGVkIDIpIHRoZSB1 cGRhdGVkIFBSUiBwYXRjaA0KDQpKdXN0IG9uZSBjb21tZW50IG9uIHRoZSBwYXRjaDogbGluZSAy NTQ2IGlzIHJlZHVuZGFudCBiZWNhdXNlIG1heHNlZyBpcyBhbHJlYWR5IGRlZmluZWQgYW5kIGNh bGN1bGF0ZWQgaW4gbGluZSAyNDc3DQoNClJlZ2FyZHMsDQpMaWFuZw0KDQpPbiBUdWUsIFNlcCAx NSwgMjAyMCBhdCAxMDozNSBBTSBTY2hlZmZlbmVnZ2VyLCBSaWNoYXJkIDxSaWNoYXJkLlNjaGVm ZmVuZWdnZXJAbmV0YXBwLmNvbT4gd3JvdGU6DQo+DQo+IEhpIExpYW5nLA0KPg0KPiBJIHdhcyBh Ym91dCB0byBzZW5kIG91dCB0aGlzIGVtYWlsIG5vdGlmeWluZyB5b3Ugb2YgdGhlIGNoYW5nZXMg dG8gdGhlIHBhdGNoLCB3aGVyZSB5b3UgdW5jb3ZlcmVkIHRoZSBpc3N1ZXMgd2l0aCBUU29wdCBl bmFibGVkIFRDUCBmbG93cy4NCj4NCj4gaHR0cHM6Ly9yZXZpZXdzLmZyZWVic2Qub3JnL0QxODg5 Mg0KPg0KPiBDYW4geW91IHBsZWFzZSByZS1wYXRjaCB5b3VyIHRlc3QgbWFjaGluZSB3aXRoIHRo aXMgdXBkYXRlZCB2ZXJzaW9uIChJIGZpeGVkIG9uZSBtZXJnZSBpc3N1ZSBkdWUgdG8gd2hpdGVz cGFjZSBjbGVhbnVwIHJlY2VudGx5IHRvbywgc28gaXQgc2hvdWxkIGFwcGx5IGNsZWFubHkgdG8g SEVBRCBub3cpLg0KPg0KPiBQbGVhc2UgbGV0IHVzIGtub3cgYW5kIHNoYXJlIGFueSBjb21tZW50 cyBhbmQgY3JpdGljaXNtIGFib3V0IHRoaXMgcGF0Y2ghDQo+DQo+IFRoYW5rcyBhZ2FpbiBmb3Ig dGVzdGluZyAtIGFuZCBmaW5kaW5nIHRoZSBvdmVybG9va2VkIGNvbWJpbmF0aW9uIHdpdGggdGlt ZXN0YW1wcy4NCj4NCj4NCj4gUmljaGFyZCBTY2hlZmZlbmVnZ2VyDQo+DQo+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IExpYW5nIFRpYW4gPGwudGlhbi5lbWFpbEBnbWFpbC5j b20+DQo+IFNlbnQ6IEZyZWl0YWcsIDExLiBTZXB0ZW1iZXIgMjAyMCAxOTowMg0KPiBUbzogU2No ZWZmZW5lZ2dlciwgUmljaGFyZCA8UmljaGFyZC5TY2hlZmZlbmVnZ2VyQG5ldGFwcC5jb20+DQo+ IENjOiBGcmVlQlNEIFRyYW5zcG9ydCA8ZnJlZWJzZC10cmFuc3BvcnRAZnJlZWJzZC5vcmc+DQo+ IFN1YmplY3Q6IFJlOiBGYXN0IHJlY292ZXJ5IHNzdGhyZXNoIHZhbHVlDQo+DQo+IE5ldEFwcCBT ZWN1cml0eSBXQVJOSU5HOiBUaGlzIGlzIGFuIGV4dGVybmFsIGVtYWlsLiBEbyBub3QgY2xpY2sg bGlua3Mgb3Igb3BlbiBhdHRhY2htZW50cyB1bmxlc3MgeW91IHJlY29nbml6ZSB0aGUgc2VuZGVy IGFuZCBrbm93IHRoZSBjb250ZW50IGlzIHNhZmUuDQo+DQo+DQo+DQo+DQo+IEhpIFJpY2hhcmQs DQo+DQo+IEluaXRpYWwgdGVzdHMgc2hvdyBQUlIgaXMgZG9pbmcgcXVpdGUgd2VsbC4gU2VlIHRy YWNlIGJlbG93IHNob3dpbmcgcmVzcG9uc2UgdG8gVFN2YWwgMjcxMzM4MTkxNiBhbmQgMjcxMzM4 MTkxNy4NCj4gSSBoYXZlIGEgY29tbWVudCBvbiB0aGUgcGF0Y2g6IEkgdGhpbmsgYWxsIHRoZSB0 cC0+dF9tYXhzZWcgc2hvdWxkIGJlIA0KPiByZXBsYWNlZCB3aXRoIG1heHNlZyBpbiB0aGUgZGlm ZiAoaHR0cHM6Ly9yZXZpZXdzLmZyZWVic2Qub3JnL0QxODg5MiksDQo+IHdoZXJlIG1heHNlZyA9 IHRjcF9tYXhzZWcodHApLiBUaGlzIHdpbGwgdGFrZSBUQ1Agb3B0aW9ucyh0aW1lc3RhbXAgaW4g dGhpcyBjYXNlKSBpbnRvIGFjY291bnQgYW5kIGF2b2lkIHNlbmRpbmcgdGhlIHRpbnlncmFtcyB3 aXRoIGxlbiAxMjAgYW5kIDM2IGluIHRoZSB0cmFjZSBiZWxvdy4NCj4gSW50ZXJlc3RpbmdseSB3 ZSB3ZXJlIGFsc28gY2hhc2luZyBhbm90aGVyIGlzc3VlIHdoZXJlIHdlIHNlZSBhIGxvdCBvZg0K PiAxMiBieXRlcyBzZWdtZW50cyB3aGVuIHJldHJhbnNtaXNzaW9uIGhhcHBlbnMoYmVmb3JlIGFw cGx5aW5nIFBSVCANCj4gcGF0Y2gpLCB3ZSBhcmUgc3VzcGVjdGluZyB0aGUgbWl4ZWQgdXNhZ2Ug b2YgdF9tYXhzZWcgYW5kIG1heHNlZyA9DQo+IHRjcF9tYXhzZWcodHApIGluIHRoZSB0Y3AgY29k ZSBpcyBjYXVzaW5nIHRoaXM6IHRoZSBDQ0EgbW9kdWxlcyBhcmUgYWxsIHVzaW5nIHRfbWF4c2Vn IGZvciBDV05EIGluY3JlYXNlIGluc3RlYWQgb2YgZWZmZWN0aXZlIFNNU1MuDQo+DQo+IFtUQ1Ag RHVwIEFDSyA0MTU0MSMzXSA1MjQ2NiAgPiAgODAgW0FDS10gU2VxPTE1NiBBY2s9NDQ1OTY0NDEN Cj4gV2luPTMxNDQ3MDQgTGVuPTAgVFN2YWw9MjcxMzM4MTkxNCBUU2Vjcj0xNjM2NjA0NzMwIFNM RT00Njc4NTMxNw0KPiBTUkU9NDY3OTA4NjkNCj4gW1RDUCBEdXAgQUNLIDQxNTQxIzRdIDUyNDY2 ICA+ICA4MCBbQUNLXSBTZXE9MTU2IEFjaz00NDU5NjQ0MQ0KPiBXaW49MzE0NDcwNCBMZW49MCBU U3ZhbD0yNzEzMzgxOTE2IFRTZWNyPTE2MzY2MDQ3MzAgU0xFPTQ2Nzg1MzE3DQo+IFNSRT00Njgw NDc0OQ0KPiBbVENQIER1cCBBQ0sgNDE1NDEjNV0gNTI0NjYgID4gIDgwIFtBQ0tdIFNlcT0xNTYg QWNrPTQ0NTk2NDQxDQo+IFdpbj0zMTQ0NzA0IExlbj0wIFRTdmFsPTI3MTMzODE5MTcgVFNlY3I9 MTYzNjYwNDczMCBTTEU9NDY3ODUzMTcNCj4gU1JFPTQ2ODA4OTEzDQo+IFtUQ1AgT3V0LU9mLU9y ZGVyXSA4MCAgPiAgNTI0NjYgW0FDS10gU2VxPTQ0NTk3ODUzIEFjaz0xNTYgV2luPTEwNDg1NzYN Cj4gTGVuPTEzODggVFN2YWw9MTYzNjYwNDkwNCBUU2Vjcj0yNzEzMzgxOTE2IFtUQ1AgT3V0LU9m LU9yZGVyXSA4MCAgPiAgDQo+IDUyNDY2IFtBQ0tdIFNlcT00NDU5OTI0MSBBY2s9MTU2IFdpbj0x MDQ4NTc2DQo+IExlbj0xMzg4IFRTdmFsPTE2MzY2MDQ5MDQgVFNlY3I9MjcxMzM4MTkxNiBbVENQ IE91dC1PZi1PcmRlcl0gODAgID4gIA0KPiA1MjQ2NiBbQUNLXSBTZXE9NDQ2MDA2MjkgQWNrPTE1 NiBXaW49MTA0ODU3Ng0KPiBMZW49MTM4OCBUU3ZhbD0xNjM2NjA0OTA0IFRTZWNyPTI3MTMzODE5 MTYgW1RDUCBPdXQtT2YtT3JkZXJdIDgwICA+ICANCj4gNTI0NjYgW0FDS10gU2VxPTQ0NjAyMDE3 IEFjaz0xNTYgV2luPTEwNDg1NzYNCj4gTGVuPTEzODggVFN2YWw9MTYzNjYwNDkwNCBUU2Vjcj0y NzEzMzgxOTE2IFtUQ1AgT3V0LU9mLU9yZGVyXSA4MCAgPiAgDQo+IDUyNDY2IFtBQ0tdIFNlcT00 NDYwMzQwNSBBY2s9MTU2IFdpbj0xMDQ4NTc2DQo+IExlbj0xMzg4IFRTdmFsPTE2MzY2MDQ5MDQg VFNlY3I9MjcxMzM4MTkxNiBbVENQIE91dC1PZi1PcmRlcl0gODAgID4gIA0KPiA1MjQ2NiBbQUNL XSBTZXE9NDQ2MDQ3OTMgQWNrPTE1NiBXaW49MTA0ODU3Ng0KPiBMZW49MTM4OCBUU3ZhbD0xNjM2 NjA0OTA0IFRTZWNyPTI3MTMzODE5MTYgW1RDUCBPdXQtT2YtT3JkZXJdIDgwICA+ICANCj4gNTI0 NjYgW0FDS10gU2VxPTQ0NjA2MTgxIEFjaz0xNTYgV2luPTEwNDg1NzYNCj4gTGVuPTEzODggVFN2 YWw9MTYzNjYwNDkwNCBUU2Vjcj0yNzEzMzgxOTE2IFtUQ1AgT3V0LU9mLU9yZGVyXSA4MCAgPiAg DQo+IDUyNDY2IFtBQ0tdIFNlcT00NDYwNzU2OSBBY2s9MTU2IFdpbj0xMDQ4NTc2DQo+IExlbj0x Mzg4IFRTdmFsPTE2MzY2MDQ5MDQgVFNlY3I9MjcxMzM4MTkxNiBbVENQIE91dC1PZi1PcmRlcl0g ODAgID4gIA0KPiA1MjQ2NiBbQUNLXSBTZXE9NDQ2MDg5NTcgQWNrPTE1NiBXaW49MTA0ODU3Ng0K PiBMZW49MTM4OCBUU3ZhbD0xNjM2NjA0OTA0IFRTZWNyPTI3MTMzODE5MTYgW1RDUCBPdXQtT2Yt T3JkZXJdIDgwICA+ICANCj4gNTI0NjYgW0FDS10gU2VxPTQ0NjEwMzQ1IEFjaz0xNTYgV2luPTEw NDg1NzYNCj4gTGVuPTEzODggVFN2YWw9MTYzNjYwNDkwNCBUU2Vjcj0yNzEzMzgxOTE2IFtUQ1Ag T3V0LU9mLU9yZGVyXSA4MCAgPiAgDQo+IDUyNDY2IFtBQ0tdIFNlcT00NDYxMTczMyBBY2s9MTU2 IFdpbj0xMDQ4NTc2DQo+IExlbj0xMjAgVFN2YWw9MTYzNjYwNDkwNCBUU2Vjcj0yNzEzMzgxOTE2 IFtUQ1AgT3V0LU9mLU9yZGVyXSA4MCAgPiAgDQo+IDUyNDY2IFtBQ0tdIFNlcT00NDYxMTg1MyBB Y2s9MTU2IFdpbj0xMDQ4NTc2DQo+IExlbj0xMzg4IFRTdmFsPTE2MzY2MDQ5MDUgVFNlY3I9Mjcx MzM4MTkxNyBbVENQIE91dC1PZi1PcmRlcl0gODAgID4gIA0KPiA1MjQ2NiBbQUNLXSBTZXE9NDQ2 MTMyNDEgQWNrPTE1NiBXaW49MTA0ODU3Ng0KPiBMZW49MTM4OCBUU3ZhbD0xNjM2NjA0OTA1IFRT ZWNyPTI3MTMzODE5MTcgW1RDUCBPdXQtT2YtT3JkZXJdIDgwICA+ICANCj4gNTI0NjYgW0FDS10g U2VxPTQ0NjE0NjI5IEFjaz0xNTYgV2luPTEwNDg1NzYNCj4gTGVuPTEzODggVFN2YWw9MTYzNjYw NDkwNSBUU2Vjcj0yNzEzMzgxOTE3IFtUQ1AgT3V0LU9mLU9yZGVyXSA4MCAgPiAgDQo+IDUyNDY2 IFtBQ0tdIFNlcT00NDYxNjAxNyBBY2s9MTU2IFdpbj0xMDQ4NTc2DQo+IExlbj0zNiBUU3ZhbD0x NjM2NjA0OTA1IFRTZWNyPTI3MTMzODE5MTcgW1RDUCBEdXAgQUNLIDQxNTQxIzZdIDUyNDY2ICAN Cj4gPiAgODAgW0FDS10gU2VxPTE1NiBBY2s9NDQ1OTY0NDENCj4gV2luPTMxNDQ3MDQgTGVuPTAg VFN2YWw9MjcxMzM4MTkyNSBUU2Vjcj0xNjM2NjA0NzMwIFNMRT00Njc4NTMxNw0KPiBTUkU9NDY4 NjcyMDkNCj4gW1RDUCBPdXQtT2YtT3JkZXJdIDgwICA+ICA1MjQ2NiBbQUNLXSBTZXE9NDQ2MTYw NTMgQWNrPTE1NiBXaW49MTA0ODU3Ng0KPiBMZW49MTM4OCBUU3ZhbD0xNjM2NjA0OTEyIFRTZWNy PTI3MTMzODE5MjUgW1RDUCBPdXQtT2YtT3JkZXJdIDgwICA+ICANCj4gNTI0NjYgW0FDS10gU2Vx PTQ0NjE3NDQxIEFjaz0xNTYgV2luPTEwNDg1NzYNCj4gTGVuPTEzODggVFN2YWw9MTYzNjYwNDkx MiBUU2Vjcj0yNzEzMzgxOTI1DQo+DQo+IFRoYW5rcywNCj4gTGlhbmcNCj4gLi4uDQo+DQo+IE9u IEZyaSwgU2VwIDExLCAyMDIwIGF0IDM6NDAgQU0gU2NoZWZmZW5lZ2dlciwgUmljaGFyZCA8Umlj aGFyZC5TY2hlZmZlbmVnZ2VyQG5ldGFwcC5jb20+IHdyb3RlOg0KPiA+DQo+ID4gUGVyZmVjdCEN Cj4gPg0KPiA+IFBsZWFzZSBzaGFyZSB5b3VyIGZpbmRpbmdzIHRoZW4sIGFzIHJldmlld3MgKGlu Y2x1ZGluZyBpbmZvcm1hbCBvbmVzKSBhcmUgbmVlZGVkIHByaW9yIHRvIG1lIGNvbW1pdHRpbmcg dGhpcyBwYXRjaC4NCj4gPg0KPiA+IE5vdGUgdGhhdCBpdCBidWlsZHMgdXBvbiBEMTg2MjQsIHdo aWNoIGlzIGN1cnJlbnRseSBpbiBzdGFibGUvMTIgYW5kIGhlYWQsIGJ1dCBub3QgYW55IHJlbGVh c2VkIGJyYW5jaGVzLiBTbyB5b3UgbWF5IG5lZWQgdG8gYXBwbHkgdGhhdCB0b28gaWYgeW91IGFy ZW4ndCB1c2luZyBoZWFkLg0KPiA+DQo+ID4gQmVzdCByZWdhcmRzLA0KPiA+DQo+ID4NCj4gPiBS aWNoYXJkIFNjaGVmZmVuZWdnZXINCj4gPg0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+ID4gRnJvbTogTGlhbmcgVGlhbiA8bC50aWFuLmVtYWlsQGdtYWlsLmNvbT4NCj4gPiBTZW50 OiBGcmVpdGFnLCAxMS4gU2VwdGVtYmVyIDIwMjAgMDY6MDYNCj4gPiBUbzogU2NoZWZmZW5lZ2dl ciwgUmljaGFyZCA8UmljaGFyZC5TY2hlZmZlbmVnZ2VyQG5ldGFwcC5jb20+OyANCj4gPiBGcmVl QlNEIFRyYW5zcG9ydCA8ZnJlZWJzZC10cmFuc3BvcnRAZnJlZWJzZC5vcmc+DQo+ID4gU3ViamVj dDogUmU6IEZhc3QgcmVjb3Zlcnkgc3N0aHJlc2ggdmFsdWUNCj4gPg0KPiA+IE5ldEFwcCBTZWN1 cml0eSBXQVJOSU5HOiBUaGlzIGlzIGFuIGV4dGVybmFsIGVtYWlsLiBEbyBub3QgY2xpY2sgbGlu a3Mgb3Igb3BlbiBhdHRhY2htZW50cyB1bmxlc3MgeW91IHJlY29nbml6ZSB0aGUgc2VuZGVyIGFu ZCBrbm93IHRoZSBjb250ZW50IGlzIHNhZmUuDQo+ID4NCj4gPg0KPiA+DQo+ID4NCj4gPiBIaSBS aWNoYXJkLA0KPiA+DQo+ID4gVGhhbmtzISBJJ20gYWJsZSB0byBhcHBseSB0aGUgcGF0Y2hlcy4g SSdsbCB0ZXN0IGl0Lg0KPiA+DQo+ID4gUmVnYXJkcywNCj4gPiBMaWFuZw0KPiA+DQo+ID4NCj4g Pg0KPiA+IE9uIFRodSwgU2VwIDEwLCAyMDIwIGF0IDU6NDkgQU0gU2NoZWZmZW5lZ2dlciwgUmlj aGFyZCA8UmljaGFyZC5TY2hlZmZlbmVnZ2VyQG5ldGFwcC5jb20+IHdyb3RlOg0KPiA+ID4NCj4g PiA+IEhpIExpYW5nLA0KPiA+ID4NCj4gPiA+IFllcywgeW91IGFyZSBhYnNvbHV0ZWx5IGNvcnJl Y3QgYWJvdXQgdGhpcyBvYnNlcnZhdGlvbi4gVGhlIFNBQ0sgbG9zcyByZWNvdmVyeSB3aWxsIG9u bHkgc2VuZCAgb25lIE1TUyBwZXIgcmVjZWl2ZWQgQUNLIHJpZ2h0IG5vdyAtIGFuZCB3aGVuIHRo ZXJlIGlzIEFDSyB0aGlubmluZyBwcmVzZW50LCB3aWxsIGZhaWwgdG8gdGltZWx5IHJlY292ZXIg YWxsIHRoZSBtaXNzaW5nIHBhY2tldHMsIGV2ZW50dWFsbHkgcmVjZWl2aW5nIG5vIG1vcmUgQUNL IHRvIGNsb2NrIG91dCBtb3JlIHJldHJhbnNtaXNzaW9ucy4uLg0KPiA+ID4NCj4gPiA+IEkgaGF2 ZSBhIERpZmYgaW4gcmV2aWV3LCB0byBpbXBsZW1lbnQgUHJvcG9ydGlvbmFsIFJhdGUgUmVkdWN0 aW9uOg0KPiA+ID4NCj4gPiA+IGh0dHBzOi8vcmV2aWV3cy5mcmVlYnNkLm9yZy9EMTg4OTINCj4g PiA+DQo+ID4gPiBXaGljaCBzaG91bGQgYWRkcmVzcyBub3Qgb25seSB0aGF0IGlzc3VlIGFib3V0 IEFDSyB0aGlubmluZywgYnV0IGFsc28gdGhlIGlzc3VlIHRoYXQgY3VycmVudCBTQUNLIGxvc3Mg cmVjb3ZlcnkgaGFzIHRvIHdhaXQgdW50aWwgcGlwZSBkcm9wcyBiZWxvdyBzc3RocmVzaCwgYmVm b3JlIHRoZSByZXRyYW5zbWlzc2lvbnMgYXJlIGNsb2NrZWQgb3V0LiBBbmQgdGhlbiwgdGhleSB3 b3VsZCBhY3R1YWxseSBiZSBjbG9ja2VkIG91dCBhdCB0aGUgc2FtZSByYXRlIGF0IHRoZSBpbmNv bWluZyBBQ0tzLiBUaGlzIHdvdWxkIGJlIHRoZSBzYW1lIHJhdGUgYXMgd2hlbiB0aGUgb3Zlcmxv YWQgaGFwcGVuZWQgKGJhcnJpbmcgYW55IEFDSyB0aGlubmluZyksIGFuZCBhcyBhIHNlY29uZGFy eSBlZmZlY3QsIGl0IHdhcyBvYnNlcnZlZCB0aGF0IHRoaXMgYmVoYXZpb3IgdG9vIGNhbiBsZWFk IHRvIHNlbGYtaW5mbGljdGVkIGxvc3MgLSBvZiByZXRyYW5zbWlzc2lvbnMuDQo+ID4gPg0KPiA+ ID4gSWYgeW91IGhhdmUgdGhlIGFiaWxpdHkgdG8gcGF0Y2ggeW91ciBrZXJuZWwgd2l0aCBEMTg4 OTIgYW5kIG9ic2VydmUgaG93IHRoZSByZWFjdGlvbiBpcyBpbiB5b3VyIGRyYW1hdGljIEFDSyB0 aGlubmluZyBzY2VuYXJpbywgdGhhdCB3b3VsZCBiZSBnb29kIHRvIGtub3chIFRoZSBhc3N1bXB0 aW9uIG9mIHRoZSBQYXRjaCB3YXMsIHRoYXQgLSBhcyBwZXIgVENQIFJGQyByZXF1aXJlbWVudHMg LSB0aGVyZSBpcyBvbmUgQUNLIGZvciBlYWNoIHJlY2VpdmVkIG91dC1vZi1zZXF1ZW5jZSBkYXRh IHNlZ21lbnQsIGFuZCBBQ0sgZHJvcHMgLyB0aGlubmluZyBhcmUgbm90IGhhcHBlbmluZyBvbiBz dWNoIGEgbWFzc2l2ZSBzY2FsZSBhcyB5b3UgZGVzY3JpYmUgaXQuDQo+ID4gPg0KPiA+ID4gQmVz dCByZWdhcmRzLA0KPiA+ID4NCj4gPiA+IFJpY2hhcmQgU2NoZWZmZW5lZ2dlcg0KPiA+ID4NCj4g PiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBvd25lci1mcmVlYnNk LXRyYW5zcG9ydEBmcmVlYnNkLm9yZw0KPiA+ID4gPG93bmVyLWZyZWVic2QtdHJhbnNwb3J0QGZy ZWVic2Qub3JnPiBPbiBCZWhhbGYgT2YgTGlhbmcgVGlhbg0KPiA+ID4gU2VudDogTWl0dHdvY2gs IDkuIFNlcHRlbWJlciAyMDIwIDE5OjE2DQo+ID4gPiBUbzogU2NoZWZmZW5lZ2dlciwgUmljaGFy ZCA8UmljaGFyZC5TY2hlZmZlbmVnZ2VyQG5ldGFwcC5jb20+DQo+ID4gPiBDYzogRnJlZUJTRCBU cmFuc3BvcnQgPGZyZWVic2QtdHJhbnNwb3J0QGZyZWVic2Qub3JnPg0KPiA+ID4gU3ViamVjdDog UmU6IEZhc3QgcmVjb3Zlcnkgc3N0aHJlc2ggdmFsdWUNCj4gPiA+DQo+ID4gPiBIaSBSaWNoYXJk LA0KPiA+ID4NCj4gPiA+IFRoYW5rcyBmb3IgdGhlIGV4cGxhbmF0aW9uIGFuZCBzb3JyeSBmb3Ig dGhlIGxhdGUgcmVwbHkuDQo+ID4gPiBJJ3ZlIGJlZW4gaW52ZXN0aWdhdGluZyBTQUNLIGxvc3Mg cmVjb3ZlcnkgYW5kIEkgdGhpbmsgSSdtIHNlZWluZyANCj4gPiA+IGFuIGlzc3VlIHNpbWlsYXIg dG8gdGhlIEFCQyBMIHZhbHVlIGlzc3VlIHRoYXQgSSByZXBvcnRlZA0KPiA+ID4gcHJldmlvdXNs eShodHRwczovL3Jldmlld3MuZnJlZWJzZC5vcmcvRDI2MTIwKSBhbmQgSSBkbyBiZWxpZXZlIHRo ZXJlIGlzIGEgZGV2aWF0aW9uIHRvIFJGQzM1MTc6DQo+ID4gPiBUaGUgaXNzdWUgaGFwcGVucyB3 aGVuIGEgRHVwQWNrIGlzIHJlY2VpdmVkIGR1cmluZyBTQUNLIGxvc3MgcmVjb3ZlcnkgaW4gdGhl IHByZXNlbmNlIG9mIEFDSyBUaGlubmluZyBvciByZWNlaXZlciBlbmFibGluZyBMUk8sIHdoaWNo IG1lYW5zIHRoZSBTQUNLIGJsb2NrIGVkZ2VzIGNvdWxkIGV4cGFuZCBieSBtb3JlIHRoYW4gMSBT TVNTKFdlJ3ZlIHNlZW4gMzAqU01TUyksIGkuZS4gYSBzaW5nbGUgRHVwQWNrIGNvdWxkIGRlY3Jl bWVudCBgcGlwZWAgYnkgbW9yZSB0aGFuIDEgU01TUy4NCj4gPiA+IEluIFJGQzM1MTcsDQo+ID4g PiAoQykgSWYgY3duZCAtIHBpcGUgPj0gMSBTTVNTLCB0aGUgc2VuZGVyIFNIT1VMRCB0cmFuc21p dCBvbmUgb3IgbW9yZSBzZWdtZW50cy4uLg0KPiA+ID4gICAgICAgICAoQy41KSBJZiBjd25kIC0g cGlwZSA+PSAxIFNNU1MsIHJldHVybiB0byAoQy4xKSBTbyBiYXNlZCBvbiBSRkMsIHRoZSBzZW5k ZXIgc2hvdWxkIGJlIGFibGUgdG8gc2VuZCBtb3JlIHNlZ21lbnRzIGlmIHN1Y2ggRHVwQWNrIGlz IHJlY2VpdmVkLCBiZWNhdXNlIG9mIHRoZSBiaWcgY2hhbmdlIHRvIGBwaXBlYC4NCj4gPiA+DQo+ ID4gPiBJbiB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiwgdGhlIGN3aW4gdmFyaWFibGUsIHdo aWNoIGNvbnRyb2xzIHRoZSBhbW91bnQgb2YgZGF0YSB0aGF0IGNhbiBiZSB0cmFuc21pdHRlZCBi YXNlZCBvbiB0aGUgbmV3IGluZm9ybWF0aW9uLCBpcyBkaWN0YXRlZCBieSBzbmRfY3duZC4gVGhl IHNuZF9jd25kIGlzIGluY3JlbWVudGVkIGJ5IDEgU01TUyBmb3IgZWFjaCBEdXBBY2sgcmVjZWl2 ZWQuIEkgYmVsaWV2ZSB0aGlzIGVmZmVjdGl2ZWx5IGxpbWl0cyB0aGUgcmV0cmFuc21pc3Npb24g dHJpZ2dlcmVkIGJ5IGVhY2ggRHVwQWNrIHRvIDEgU01TUyAtICBkZXZpYXRpb24uDQo+ID4gPiAg MzA3ICAgICAgICAgY3dpbiA9DQo+ID4gPiAgMzA4ICAgICAgICAgICAgIGltYXgobWluKHRwLT5z bmRfd25kLCB0cC0+c25kX2N3bmQpIC0gc2Fja19ieXRlc19yeG10LCAwKTsNCj4gPiA+DQo+ID4g PiBBcyBhIHJlc3VsdCwgU0FDSyBpcyBub3QgZG9pbmcgZW5vdWdoIHJlY292ZXJ5IGluIHRoaXMg c2NlbmFyaW8gYW5kIGxvc3MgaGFzIHRvIGJlIHJlY292ZXJlZCBieSBSVE8uDQo+ID4gPiBBZ2Fp biwgSSdkIGFwcHJlY2lhdGUgZmVlZGJhY2sgZnJvbSB0aGUgY29tbXVuaXR5Lg0KPiA+ID4NCj4g PiA+IFJlZ2FyZHMsDQo+ID4gPiBMaWFuZyBUaWFuDQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4g Pg0KPiA+ID4gT24gU3VuLCBBdWcgMjMsIDIwMjAgYXQgMzo1NiBQTSBTY2hlZmZlbmVnZ2VyLCBS aWNoYXJkIDxSaWNoYXJkLlNjaGVmZmVuZWdnZXJAbmV0YXBwLmNvbT4gd3JvdGU6DQo+ID4gPiA+ DQo+ID4gPiA+IEhpIExpYW5nLA0KPiA+ID4gPg0KPiA+ID4gPiBJbiBTQUNLIGxvc3MgcmVjb3Zl cnksIHlvdSBjYW4gcmVjb3ZlciB1cCB0byBzc3RocmVzaCAocHJpb3IgY3duZC8yIFtvciA3MCUg aW4gY2FzZSBvZiBjdWJpY10pIGxvc3QgYnl0ZXMgLSBhdCBsZWFzdCBpbiB0aGVvcnkuDQo+ID4g PiA+DQo+ID4gPiA+IEluIGNvbXBhcmlzb24sIChOZXcpUmVubyBjYW4gb25seSByZWNvdmVyIG9u ZSBsb3N0IHBhY2tldCBwZXIgd2luZG93LCBhbmQgdGhlbiBrZWVwcyBvbiB0cmFuc21pdHRpbmcg bmV3IHNlZ21lbnRzIChhY2sgKyBjd25kKSwgZXZlbiBiZWZvcmUgdGhlIHJlY2VpcHQgb2YgdGhl IHJldHJhbnNtaXR0ZWQgcGFja2V0IGlzIGFja2VkLg0KPiA+ID4gPg0KPiA+ID4gPiBGb3IgaGlz dG9yaWMgcmVhc29ucywgdGhlIHNlbWFudGljIG9mIHRoZSB2YXJpYWJsZSBjd25kIGlzIG92ZXJs b2FkZWQgZHVyaW5nIGxvc3MgcmVjb3ZlcnksIGFuZCBpdCBkb2Vzbid0ICJyZWFsbHkiIGluZGlj YXRlIGN3bmQsIGJ1dCByYXRoZXIgaW5kaWNhdGVzIGlmL3doZW4gcmV0cmFuc21pc3Npb25zIGNh biBoYXBwZW4uDQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+IEluIGJvdGggY2FzZXMgKGFsc28g dGhlIHNpbXBsZSBvbmUsIHdpdGggb25seSBvbmUgcGFja2V0IGxvc3MpLCBjd25kIHNob3VsZCBi ZSBlcXVhbCAob3IgbmVhciBlcXVhbCkgdG8gc3N0aHJlc2ggYnkgdGhlIHRpbWUgbG9zcyByZWNv dmVyeSBpcyBmaW5pc2hlZCAtIGJ1dCBOT1QgYmVmb3JlISBXaGlsZSBpdCBtYXkgYXBwZWFyIGxp a2Ugc2xvdy1zdGFydCwgdGhlIHZhbHVlIG9mIHRoZSBjd25kIHZhcmlhYmxlIHJlYWxseSBpbmNy ZWFzZXMgYnkgYWNrZWRfYnl0ZXMgb25seSBwZXIgQUNLIChub3QgYWNrZWRfYnl0ZXMgKyBTTVNT KSwgc2luY2UgdGhlIGxlZnQgZWRnZSAoc25kX3VuYSkgZG9lc24ndCBtb3ZlIHJpZ2h0IC0gdW5s aWtlIGR1cmluZyBzbG93LXN0YXJ0LiBCdXQgbnVtZXJpY2FsbHksIHRoZXNlIGRpZmZlcmVudCBw aGFzZXMgKHNsb3ctc3RhcnQgLyBzYWNrIGxvc3MtcmVjb3ZlcnkpIG1heSBhcHBlYXIgdmVyeSBz aW1pbGFyLg0KPiA+ID4gPg0KPiA+ID4gPiBZb3UgY291bGQgY2hlY2sgdGhpcyB1c2luZyB0aGUg KGxvYWRhYmxlKSBTSUZUUiBtb2R1bGUsIHdoaWNoIGNhcHR1cmVzIHRfZmxhZ3MgKGluZGljYXRp bmcgaWYgY29uZy9sb3NzIHJlY292ZXJ5IGlzIGFjdGl2ZSksIHNzdGhyZXNoLCBjd25kLCBhbmQg b3RoZXIgcGFyYW1ldGVycy4NCj4gPiA+ID4NCj4gPiA+ID4gVGhhdCBpcyBhdCBsZWFzdCBob3cg dGhpbmdzIGFyZSBzdXBwb3NlZCB0byB3b3JrOyBvciBoYXZlIHlvdSBpbnZlc3RpZ2F0ZWQgdGhl IHRpbWluZyBhbmQgYmVoYXZpb3Igb2YgU0FDSyBsb3NzIHJlY292ZXJ5IGFuZCBmb3VuZCBhIGRl dmlhdGlvbiB0byBSRkMzNTE3PyBOb3RlIHRoYXQgRkJTRCBjdXJyZW50bHkgaGFzIG5vdCBmdWxs eSBpbXBsZW1lbnRlZCBSRkM2Njc1IHN1cHBvcnQgKHdoaWNoIGRldmlhdGVzIHNsaWdodGx5IGZy b20gMzUxNyB1bmRlciBzcGVjaWZpYyBjaXJjdW1zdGFuY2VzOyBJIGhhdmUgYSBwYXRjaCBwZW5k aW5nIHRvIGltcGxlbWVudGUgNjY3NSByZXNjdWUgcmV0cmFuc21pc3Npb25zLCBidXQgaGF2ZW4n dCB0d2Vha2VkIHRoZSBvdGhlciBhc3BlY3RzIG9mIDY2NzUgdnMuIDM1MTcuDQo+ID4gPiA+DQo+ ID4gPiA+IEJUVzogV2hpbGUgZnJlZWJzZC1uZXQgaXMgbm90IHRoZSB3cm9uZyBETCBwZXIgc2Us IFRDUCwgVURQLCBTQ1RQIHNwZWNpZmljIHF1ZXN0aW9ucyBjYW4gYWxzbyBiZSBwb3N0ZWQgdG8g ZnJlZWJzZC10cmFuc3BvcnQsIHdoaWNoIGlzIG1vcmUgbmFycm93bHkgZm9jdXNlZC4NCj4gPiA+ ID4NCj4gPiA+ID4gQmVzdCByZWdhcmRzLA0KPiA+ID4gPg0KPiA+ID4gPiBSaWNoYXJkIFNjaGVm ZmVuZWdnZXINCj4gPiA+ID4NCj4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g PiA+ID4gRnJvbTogb3duZXItZnJlZWJzZC1uZXRAZnJlZWJzZC5vcmcgDQo+ID4gPiA+IDxvd25l ci1mcmVlYnNkLW5ldEBmcmVlYnNkLm9yZz4gT24gQmVoYWxmIE9mIExpYW5nIFRpYW4NCj4gPiA+ ID4gU2VudDogU29ubnRhZywgMjMuIEF1Z3VzdCAyMDIwIDAwOjE0DQo+ID4gPiA+IFRvOiBmcmVl YnNkLW5ldCA8ZnJlZWJzZC1uZXRAZnJlZWJzZC5vcmc+DQo+ID4gPiA+IFN1YmplY3Q6IEZhc3Qg cmVjb3Zlcnkgc3N0aHJlc2ggdmFsdWUNCj4gPiA+ID4NCj4gPiA+ID4gSGkgYWxsLA0KPiA+ID4g Pg0KPiA+ID4gPiBXaGVuIDMgZHVwYWNrcyBhcmUgcmVjZWl2ZWQgYW5kIFRDUCBlbnRlciBmYXN0 IHJlY292ZXJ5LCBpZiBTQUNLIGlzIHVzZWQsIHRoZSBDV05EIGlzIHNldCB0byBtYXhzZWc6DQo+ ID4gPiA+DQo+ID4gPiA+IDI1OTMgICAgICAgICAgICAgICAgICAgICBpZiAodHAtPnRfZmxhZ3Mg JiBURl9TQUNLX1BFUk1JVCkgew0KPiA+ID4gPiAyNTk0ICAgICAgICAgICAgICAgICAgICAgICAg IFRDUFNUQVRfSU5DKA0KPiA+ID4gPiAyNTk1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0 Y3BzX3NhY2tfcmVjb3ZlcnlfZXBpc29kZSk7DQo+ID4gPiA+IDI1OTYgICAgICAgICAgICAgICAg ICAgICAgICAgdHAtPnNuZF9yZWNvdmVyID0gdHAtPnNuZF9ueHQ7DQo+ID4gPiA+IDI1OTcgICAg ICAgICAgICAgICAgICAgICAgICAgdHAtPnNuZF9jd25kID0gbWF4c2VnOw0KPiA+ID4gPiAyNTk4 ICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkKSB0cC0+dF9mYi0+dGZiX3RjcF9vdXRwdXQo dHApOw0KPiA+ID4gPiAyNTk5ICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZHJvcDsNCj4g PiA+ID4gMjYwMCAgICAgICAgICAgICAgICAgICAgIH0NCj4gPiA+ID4NCj4gPiA+ID4gT3RoZXJ3 aXNlKFNBQ0sgaXMgbm90IGluIHVzZSksIENXTkQgaXMgc2V0IHRvIG1heHNlZyBiZWZvcmUNCj4g PiA+ID4gdGNwX291dHB1dCgpIGFuZCB0aGVuIHNldCBiYWNrIHRvIHNuZF9zc3RocmVzaCtpbmZs YXRpb24NCj4gPiA+ID4gMjYwMSAgICAgICAgICAgICAgICAgICAgIHRwLT5zbmRfbnh0ID0gdGgt PnRoX2FjazsNCj4gPiA+ID4gMjYwMiAgICAgICAgICAgICAgICAgICAgIHRwLT5zbmRfY3duZCA9 IG1heHNlZzsNCj4gPiA+ID4gMjYwMyAgICAgICAgICAgICAgICAgICAgICh2b2lkKSB0cC0+dF9m Yi0+dGZiX3RjcF9vdXRwdXQodHApOw0KPiA+ID4gPiAyNjA0ICAgICAgICAgICAgICAgICAgICAg S0FTU0VSVCh0cC0+c25kX2xpbWl0ZWQgPD0gMiwNCj4gPiA+ID4gMjYwNSAgICAgICAgICAgICAg ICAgICAgICAgICAoIiVzOiB0cC0+c25kX2xpbWl0ZWQgdG9vIGJpZyIsDQo+ID4gPiA+IDI2MDYg ICAgICAgICAgICAgICAgICAgICAgICAgX19mdW5jX18pKTsNCj4gPiA+ID4gMjYwNyAgICAgICAg ICAgICAgICAgICAgIHRwLT5zbmRfY3duZCA9IHRwLT5zbmRfc3N0aHJlc2ggKw0KPiA+ID4gPiAy NjA4ICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhzZWcgKg0KPiA+ID4gPiAyNjA5ICAgICAg ICAgICAgICAgICAgICAgICAgICAodHAtPnRfZHVwYWNrcyAtIHRwLT5zbmRfbGltaXRlZCk7DQo+ ID4gPiA+IDI2MTAgICAgICAgICAgICAgICAgICAgICBpZiAoU0VRX0dUKG9ueHQsIHRwLT5zbmRf bnh0KSkNCj4gPiA+ID4gMjYxMSAgICAgICAgICAgICAgICAgICAgICAgICB0cC0+c25kX254dCA9 IG9ueHQ7DQo+ID4gPiA+IDI2MTIgICAgICAgICAgICAgICAgICAgICBnb3RvIGRyb3A7DQo+ID4g PiA+DQo+ID4gPiA+IEknbSB3b25kZXJpbmcgaW4gdGhlIFNBQ0sgY2FzZSwgc2hvdWxkIENXTkQg YmUgc2V0IGJhY2sgdG8gc3N0aHJlc2god2hpY2ggaGFzIGJlZW4gc2xhc2hlZCBpbiBjY19jb25n X3NpZ25hbCgpIGEgZmV3IGxpbmVzIGFib3ZlKSBiZWZvcmUgbGluZSAyNTk5LCBsaWtlIG5vbi1T QUNLIGNhc2UsIGluc3RlYWQgb2YgZG9pbmcgc2xvdyBzdGFydCBmcm9tIG1heHNlZz8NCj4gPiA+ ID4gSSByZWFkIHJmYzY2NzUgYW5kIGEgZmV3IG90aGVycywgYW5kIGl0IGxvb2tzIGxpa2UgdGhh dCdzIHRoZSBjYXNlLiBJIGFwcHJlY2lhdGUgeW91ciBvcGluaW9uLCBhZ2Fpbi4NCj4gPiA+ID4N Cj4gPiA+ID4gVGhhbmtzLA0KPiA+ID4gPiBMaWFuZw0KPiA+ID4gPiBfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiA+ID4gPiBmcmVlYnNkLW5ldEBmcmVl YnNkLm9yZyBtYWlsaW5nIGxpc3QgDQo+ID4gPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWJzZC5vcmcv bWFpbG1hbi9saXN0aW5mby9mcmVlYnNkLW5ldA0KPiA+ID4gPiBUbyB1bnN1YnNjcmliZSwgc2Vu ZCBhbnkgbWFpbCB0byAiZnJlZWJzZC1uZXQtdW5zdWJzY3JpYmVAZnJlZWJzZC5vcmciDQo+ID4g PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiA+ID4g ZnJlZWJzZC10cmFuc3BvcnRAZnJlZWJzZC5vcmcgbWFpbGluZyBsaXN0IA0KPiA+ID4gaHR0cHM6 Ly9saXN0cy5mcmVlYnNkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVic2QtdHJhbnNwb3J0DQo+ ID4gPiBUbyB1bnN1YnNjcmliZSwgc2VuZCBhbnkgbWFpbCB0byAiZnJlZWJzZC10cmFuc3BvcnQt dW5zdWJzY3JpYmVAZnJlZWJzZC5vcmciDQo= From owner-freebsd-transport@freebsd.org Fri Sep 18 13:38:25 2020 Return-Path: Delivered-To: freebsd-transport@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B7DE53E3DA1 for ; Fri, 18 Sep 2020 13:38:25 +0000 (UTC) (envelope-from kaykhosrow_parsi@affirmednetworks.com) Received: from out.exch021.serverdata.net (out.exch021.serverdata.net [64.78.40.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "exch021.serverdata.net", Issuer "GeoTrust RSA CA 2018" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BtFKD4vHZz4Zbq for ; Fri, 18 Sep 2020 13:38:24 +0000 (UTC) (envelope-from kaykhosrow_parsi@affirmednetworks.com) Received: from MBX021-E6-VA-1.exch021.domain.local (10.216.132.148) by MBX021-W8-CA-1.exch021.domain.local (10.254.4.156) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P521) id 15.1.2044.4; Fri, 18 Sep 2020 06:38:22 -0700 Received: from MBX021-E6-VA-1.exch021.domain.local ([10.216.132.148]) by MBX021-E6-VA-1.exch021.domain.local ([10.216.132.148]) with mapi id 15.01.2044.006; Fri, 18 Sep 2020 09:38:21 -0400 From: Kaykhosrow Parsi To: "freebsd-transport@freebsd.org" CC: Piotr Galecki , John Maroun Subject: Re: TCP-AO (RFC 5925) Support Thread-Topic: TCP-AO (RFC 5925) Support Thread-Index: AQHWjb/EN9xfdMD25EOnBEj+ifRLVA== Date: Fri, 18 Sep 2020 13:38:21 +0000 Message-ID: <37f05c1e378843c78b99d28efcf7878e@affirmednetworks.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [71.174.210.181] MIME-Version: 1.0 X-Rspamd-Queue-Id: 4BtFKD4vHZz4Zbq X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of kaykhosrow_parsi@affirmednetworks.com designates 64.78.40.182 as permitted sender) smtp.mailfrom=kaykhosrow_parsi@affirmednetworks.com X-Spamd-Result: default: False [-1.62 / 15.00]; FAKE_REPLY(1.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; HAS_XOIP(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; TO_DN_SOME(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; R_SPF_ALLOW(-0.20)[+ip4:64.78.0.0/18]; ARC_NA(0.00)[]; DMARC_NA(0.00)[affirmednetworks.com]; NEURAL_HAM_LONG(-1.06)[-1.057]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; NEURAL_HAM_SHORT(-0.14)[-0.135]; NEURAL_HAM_MEDIUM(-1.03)[-1.033]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; ASN(0.00)[asn:16406, ipnet:64.78.0.0/18, country:US]; RCVD_TLS_LAST(0.00)[]; MAILMAN_DEST(0.00)[freebsd-transport]; RCVD_IN_DNSWL_LOW(-0.10)[64.78.40.182:from] X-Mailman-Approved-At: Sat, 19 Sep 2020 01:06:04 +0000 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.33 X-BeenThere: freebsd-transport@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: Discussions of transport level network protocols in FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Sep 2020 13:38:25 -0000 Hi My company wants to use Freebsd to support TCP-AO . As far as I can see it= was in Freebsd road map https://www.freebsd.org/news/status/report-2013-01-2013-03.html#TCP-AO-Auth= entication-Option and there is a development branch for it https://svnweb.freebsd.org/base/us= er/andre/tcp-ao/ . Can somebody tell us what the status of this feature is ? Is this feature= ready to use or still needs some work done ? Thanks Kay-- From owner-freebsd-transport@freebsd.org Sat Sep 19 22:02:14 2020 Return-Path: Delivered-To: freebsd-transport@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4E73C3F0C0B for ; Sat, 19 Sep 2020 22:02:14 +0000 (UTC) (envelope-from Richard.Scheffenegger@netapp.com) Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-eopbgr750088.outbound.protection.outlook.com [40.107.75.88]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "GlobalSign Organization Validation CA - SHA256 - G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Bv4S44Svsz4Ycl for ; Sat, 19 Sep 2020 22:02:11 +0000 (UTC) (envelope-from Richard.Scheffenegger@netapp.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Lu3bSCcPOP0YccvVifNlnh73hxhIRGPAk24htzb0OzMgdZxTp8XtzZuln9KwsdKmhlkjTlNwt19sA8Cus55D2/1tF9fdR56LQ1fGOyYUQo4Dl//l77W+xQnhx7LBmmzxWISBVxfQ7kH2ss1Gp/RQH0t9CJc8eetpkFAvM+XKpBqej/zG9fIlNz6wzGxvxnVDOW0agIKSmcYeTQ0Lj0ReZWSWknHWwrrOmGS2Ov1FDNnK3zdHpR9kx9260qSara6cwQ0l9DY6McfiOWsrtvWtAPAGElFS+ZstNSuM3mQ+gexmUQZb+QCgIpQStn8dnT/vNC6q9ItrYo6xA0+3+vnuwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MbuSO3sNZnwf3GeW1+7htK+7aq6I9M8ofvQVbDicZEE=; b=EwqJd/jO/zJgbheLnJzbeeUdfpidY0DMTY7rXj4LatbhRIxQYtaLfyYRTb5O28klMDUdM4DeIMgs6+0knk69hRu0ENcFmiZxqa+S2weRVrfRKQhlCwcftkZU1qfJ4XCFNf0iNeSV32Xo0K8aucwKEr63McI+s+kk65RhyomsIoJ/MlDgIz90oSBv1jLcLjjUqwROYK/JP0VykcqR7C7dRWoNvOHeH8wv9MhxRM0R9rGAsZsvhP/NkambloDlLJ/r5xvhTOItrscoJEBrSAhUck0tgaEYfSIAsMwAE1Avd87VEPFmDNN2ztG974JBG9jil6+oavktBArl9pqP9uw7hw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=netapp.com; dmarc=pass action=none header.from=netapp.com; dkim=pass header.d=netapp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netapp.onmicrosoft.com; s=selector1-netapp-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MbuSO3sNZnwf3GeW1+7htK+7aq6I9M8ofvQVbDicZEE=; b=m2UfoxgYUAjvdUxD1BO9hLy8OZZRt75xB4d6FKpv9RMpF6FcQ71rWTW4gtjmX5qML6fnUiXOO/JQYYCVrlbbImnBop44KbgDXTLkUET2A/CZRLxjU6WgqovBVw5Qr6D9uWZ3oVu0ayHQH5RgdmBGX0wiBvQ/ToNNtOv6sUoi1PU= Received: from SN4PR0601MB3728.namprd06.prod.outlook.com (2603:10b6:803:51::24) by SN6PR06MB4544.namprd06.prod.outlook.com (2603:10b6:805:98::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3391.14; Sat, 19 Sep 2020 22:02:09 +0000 Received: from SN4PR0601MB3728.namprd06.prod.outlook.com ([fe80::84a9:fc74:7eed:ca3a]) by SN4PR0601MB3728.namprd06.prod.outlook.com ([fe80::84a9:fc74:7eed:ca3a%7]) with mapi id 15.20.3370.019; Sat, 19 Sep 2020 22:02:09 +0000 From: "Scheffenegger, Richard" To: Kaykhosrow Parsi , "freebsd-transport@freebsd.org" CC: Piotr Galecki , John Maroun Subject: RE: TCP-AO (RFC 5925) Support Thread-Topic: TCP-AO (RFC 5925) Support Thread-Index: AQHWjb/EN9xfdMD25EOnBEj+ifRLVKlwg9LQ Date: Sat, 19 Sep 2020 22:02:09 +0000 Message-ID: References: <37f05c1e378843c78b99d28efcf7878e@affirmednetworks.com> In-Reply-To: <37f05c1e378843c78b99d28efcf7878e@affirmednetworks.com> Accept-Language: de-AT, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [185.236.167.136] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5a7e6d48-aedd-424f-9685-08d85ce7a7ca x-ms-traffictypediagnostic: SN6PR06MB4544: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 7LjJQ9n2+2rADFZGAepxaZ0Im3S2fwAD/a1ufMvhtcf4Cc7RLI2yTCujdCKVt/1eo3ZUyA6GOb4LORdU5zLK2AvDko/cnmgAKJzGq3DJ9qrhoe4KWdONn4RvM8UETtv5pxZfnkp2YbTJNU0A5zolTcy1aYBpF3J0EJhDZugdDgu6iexQZCjcZvkcduYw91dacdCDBnW9vwpYI4beUCICEOuG39dgUExC9yrP4sG+JIFN1mtnS1Z3T3Vypc8ccW0y8ZHdYI9eaT5F3DIFXl0vNlizCFGgzJpsmjNtne3+3VqmDUYBUNGjTzvCBKOr8XZZRMCFjp+fka3/YuCiR/biHM202tz1XEUvp4I+Jg+pezS4avFEapQeJ5uDKHxRzR2oZ7X0seCPGOmizX6Bw8BOow== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN4PR0601MB3728.namprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(346002)(136003)(39860400002)(396003)(376002)(54906003)(7696005)(966005)(26005)(66476007)(66446008)(64756008)(8936002)(6506007)(66946007)(83380400001)(8676002)(86362001)(186003)(2906002)(66556008)(53546011)(5660300002)(55016002)(9686003)(52536014)(478600001)(110136005)(76116006)(4326008)(316002)(33656002)(71200400001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: ALq2bKpihcYWnHidgEmCDsSC3ZhdPTc0JmPNHKj/sjS+0e+wDP8cvGLSVu7no+utMUXpTu0Y9OVni1p9UzxBz1QQP+X5AqutX9e6yZ19YPAhBTd5ZHrs1lquCU/iYhAWLX2NsBahO1IG5sDAYnGZWK5CP4mEP7NKrXigBXnQuK/4ta0eQPtb/3LYWYOQSnvWuFWGjdt2LwEIxZ5uZwSfQMtPtgOAPOqECf8+3Z2scK32ACsmzWTEVWNT3Fi6QKJF+gn813owkXoUubaB9rMbfpn04RIPAo0FVA54c0se0v++hK3uAn5aTEy3vQcyEV4VDdSuRO+2Bucf9zuVnYeoz+R0+odEUUGJd6UAkj99OEzmORT0bJU+Hha/XJ5BB/9p7SqpmQAk8ggqnTMTc0mB5OhFxapAFNMK2C1cAENrW/LLa3gEwdk8RcG0NkxOOVdBXrZkLoKNmswGyKLUPGqugFCNXPJYUS8TZY/EGZB/HrIzrRPPvFV1qYuM1XlecsWjJYBQfmvxR0msJ7A4Z1h0m8z7JXEfUW50mbZzqMEa4O8bWBh48GwaGQABVY89m13amKz+6zjY5nnAGMyr0POLC5lkdV1NvOulHEk8OPW3amY0n6rTvmhuXP9F3xIsiuL3uBZy9mozKDMjx307PNGfEg== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: netapp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN4PR0601MB3728.namprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5a7e6d48-aedd-424f-9685-08d85ce7a7ca X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Sep 2020 22:02:09.3079 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4b0911a0-929b-4715-944b-c03745165b3a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: +RaMxuyqtptb3BAN54AZnOm9PHNlZr5lV4SYRN0XuwgdthV6ZzAcm5fWhkAr9x8KdRuiR8rgp73FDvCcDrTCRw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR06MB4544 X-Rspamd-Queue-Id: 4Bv4S44Svsz4Ycl X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=netapp.onmicrosoft.com header.s=selector1-netapp-onmicrosoft-com header.b=m2UfoxgY; dmarc=none; spf=pass (mx1.freebsd.org: domain of Richard.Scheffenegger@netapp.com designates 40.107.75.88 as permitted sender) smtp.mailfrom=Richard.Scheffenegger@netapp.com X-Spamd-Result: default: False [-4.83 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.003]; R_DKIM_ALLOW(-0.20)[netapp.onmicrosoft.com:s=selector1-netapp-onmicrosoft-com]; HAS_XOIP(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:40.107.0.0/16]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[netapp.com]; NEURAL_HAM_LONG(-1.04)[-1.038]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[netapp.onmicrosoft.com:+]; NEURAL_HAM_SHORT(-1.29)[-1.290]; RCVD_IN_DNSWL_NONE(0.00)[40.107.75.88:from]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:8075, ipnet:40.104.0.0/14, country:US]; ARC_ALLOW(-1.00)[microsoft.com:s=arcselector9901:i=1]; MAILMAN_DEST(0.00)[freebsd-transport]; RWL_MAILSPIKE_POSSIBLE(0.00)[40.107.75.88:from] X-BeenThere: freebsd-transport@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: Discussions of transport level network protocols in FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Sep 2020 22:02:14 -0000 I'm afraid to tell you, that andre left the project, and that branch is (af= aik) not actively worked on (as also seen by the timestamp of the last upda= te) The last update mentions a few missing pieces for full -AO support. But pro= bably a good basis to continue this work, only any merge conflicts with the= current codebase are resolved. Richard Scheffenegger -----Original Message----- From: owner-freebsd-transport@freebsd.org On Behalf Of Kaykhosrow Parsi Sent: Freitag, 18. September 2020 15:38 To: freebsd-transport@freebsd.org Cc: Piotr Galecki ; John Maroun Subject: Re: TCP-AO (RFC 5925) Support Hi My company wants to use Freebsd to support TCP-AO . As far as I can see it= was in Freebsd road map https://www.freebsd.org/news/status/report-2013-01-2013-03.html#TCP-AO-Auth= entication-Option and there is a development branch for it https://svnweb.freebsd.org/base/us= er/andre/tcp-ao/ . Can somebody tell us what the status of this feature is ? Is this feature= ready to use or still needs some work done ? Thanks Kay-- _______________________________________________ freebsd-transport@freebsd.org mailing list https://lists.freebsd.org/mailma= n/listinfo/freebsd-transport To unsubscribe, send any mail to "freebsd-transport-unsubscribe@freebsd.org= " From owner-freebsd-transport@freebsd.org Sat Sep 19 22:16:45 2020 Return-Path: Delivered-To: freebsd-transport@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3538A3F0D6C for ; Sat, 19 Sep 2020 22:16:45 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from mx1.sbone.de (mx1.sbone.de [IPv6:2a01:4f8:13b:39f::9f:25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mx1.sbone.de", Issuer "SBone.DE" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Bv4mr30VMz4ZZP for ; Sat, 19 Sep 2020 22:16:44 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:31::2013:587]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPS id D6A3A8D4A157; Sat, 19 Sep 2020 22:16:35 +0000 (UTC) Received: from content-filter.sbone.de (content-filter.sbone.de [IPv6:fde9:577b:c1a9:31::2013:2742]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 3B4FEE707CD; Sat, 19 Sep 2020 22:16:35 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:31::2013:587]) by content-filter.sbone.de (content-filter.sbone.de [fde9:577b:c1a9:31::2013:2742]) (amavisd-new, port 10024) with ESMTP id zGRShV635Z_1; Sat, 19 Sep 2020 22:16:33 +0000 (UTC) Received: from [127.0.0.1] (unknown [IPv6:fde9:577b:c1a9:4902:4138:72d6:66b5:1475]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id 0D262E707B7; Sat, 19 Sep 2020 22:16:32 +0000 (UTC) From: "Bjoern A. Zeeb" To: "Scheffenegger, Richard" Cc: "Kaykhosrow Parsi" , freebsd-transport@freebsd.org, "Piotr Galecki" , "John Maroun" Subject: Re: TCP-AO (RFC 5925) Support Date: Sat, 19 Sep 2020 22:16:32 +0000 X-Mailer: MailMate (2.0BETAr6151) Message-ID: In-Reply-To: References: <37f05c1e378843c78b99d28efcf7878e@affirmednetworks.com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4Bv4mr30VMz4ZZP X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of bzeeb-lists@lists.zabbadoz.net designates 2a01:4f8:13b:39f::9f:25 as permitted sender) smtp.mailfrom=bzeeb-lists@lists.zabbadoz.net X-Spamd-Result: default: False [-3.26 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; RCVD_COUNT_FIVE(0.00)[5]; MID_RHS_MATCH_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2a01:4f8:13b:39f::9f:25]; NEURAL_HAM_LONG(-1.04)[-1.039]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[zabbadoz.net]; NEURAL_HAM_MEDIUM(-1.04)[-1.043]; RCPT_COUNT_FIVE(0.00)[5]; TO_MATCH_ENVRCPT_SOME(0.00)[]; NEURAL_HAM_SHORT(-0.87)[-0.873]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:24940, ipnet:2a01:4f8::/29, country:DE]; RCVD_TLS_LAST(0.00)[]; MAILMAN_DEST(0.00)[freebsd-transport] X-BeenThere: freebsd-transport@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: Discussions of transport level network protocols in FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Sep 2020 22:16:45 -0000 On 19 Sep 2020, at 22:02, Scheffenegger, Richard wrote: Hi, > I'm afraid to tell you, that andre left the project, and that branch = > is (afaik) not actively worked on (as also seen by the timestamp of = > the last update) > > The last update mentions a few missing pieces for full -AO support. = > But probably a good basis to continue this work, only any merge = > conflicts with the current codebase are resolved. I had worked on a bit on TCP-AO at two points in time when people were = keen on it but all parties always somehow lost interest in it (and some = by now have done it internally, I am sure). I am not really keen on it = as AO is a bit of a horrible RFC but if there is interest to have this = in FreeBSD I=E2=80=99d at least be happy to find my old notes again. /bz > -----Original Message----- > From: owner-freebsd-transport@freebsd.org = > On Behalf Of Kaykhosrow Parsi > Sent: Freitag, 18. September 2020 15:38 > To: freebsd-transport@freebsd.org > Cc: Piotr Galecki ; John Maroun = > > Subject: Re: TCP-AO (RFC 5925) Support > > > Hi > > My company wants to use Freebsd to support TCP-AO . As far as I can = > see it was in Freebsd road map > > https://www.freebsd.org/news/status/report-2013-01-2013-03.html#TCP-AO-= Authentication-Option > > and there is a development branch for it = > https://svnweb.freebsd.org/base/user/andre/tcp-ao/ > > . Can somebody tell us what the status of this feature is ? Is this = > feature ready to use or still needs some work done ? > > > Thanks > > Kay-- > _______________________________________________ > freebsd-transport@freebsd.org mailing list = > https://lists.freebsd.org/mailman/listinfo/freebsd-transport > To unsubscribe, send any mail to = > "freebsd-transport-unsubscribe@freebsd.org" > _______________________________________________ > freebsd-transport@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-transport > To unsubscribe, send any mail to = > "freebsd-transport-unsubscribe@freebsd.org"