From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30078.outbound.protection.outlook.com [40.107.3.78]) by dpdk.org (Postfix) with ESMTP id DDF1C1B4C5 for ; Thu, 2 Aug 2018 16:24:54 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=P/tt2GCRAiiBsAQ/GwDzCu3TZeZbIIsKhLT9Lhhd8WQ=; b=JJUWRR8gHxaLncd2ZZ7KKhpbQoNJO/JogJXmMl6F+lf1MbPz/F3mhjWqg6Ljx8omP4PmApzyufU4X51A2b/0Xclo8mh4FAJXeBQCZLcqM1haU7LMB/BSFf6r8vGA+QHXahAfgO7uOfDE1hfdudtpKMG4jrJnR7ntiQ7lXUM5bTs= Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com (52.133.41.11) by AM0PR0502MB3841.eurprd05.prod.outlook.com (52.133.47.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1017.15; Thu, 2 Aug 2018 14:24:52 +0000 Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com ([fe80::9d98:d47f:5b50:1f49]) by AM0PR0502MB4019.eurprd05.prod.outlook.com ([fe80::9d98:d47f:5b50:1f49%2]) with mapi id 15.20.0995.020; Thu, 2 Aug 2018 14:24:52 +0000 From: Matan Azrad To: "Doherty, Declan" , Chas Williams <3chas3@gmail.com>, Radu Nicolau CC: "dev@dpdk.org" , Chas Williams Thread-Topic: [dpdk-dev] [PATCH] net/bonding: propagate promiscous mode in mode 4 Thread-Index: AQHUKmQYnEGgR8DEIE6FcI4JuB6VXaSsgUTQ Date: Thu, 2 Aug 2018 14:24:52 +0000 Message-ID: References: <1533128278-4685-1-git-send-email-radu.nicolau@intel.com> <2eac631f-1402-67b5-04de-1ce161cfcf92@intel.com> <017918fc-70dc-e6d3-6e9f-35bf9bd73fc3@intel.com> In-Reply-To: <017918fc-70dc-e6d3-6e9f-35bf9bd73fc3@intel.com> Accept-Language: en-US, he-IL Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=matan@mellanox.com; x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; AM0PR0502MB3841; 6:gQnhHWMQxQ/LCjSvCMmhu2ex0Flr4DPA5t01KHZGErvL8ndWRi08mgD0eT9i+4nN+Wo5Z9P4gp92ffXVFSB9jm5C0NirJ1VoEPA3oK0QRzxPEFwRh4fK3laYCc4KW/VfgvduYflsxD9zcaN82ugsi7hhZyXfRSfDLIewzpIZtBXgoqPbMVKbnF333EJODPDaBANDSRgGTVU6IjElEojzyh+x6gEAqMn5lgwr472U7/PaiTU16FVfNynuvTOT7DIG+Qo0vuK3yIjmOBv/NzSF8wyk7xXe7ODeSW9DmDxFW3AejAxWcgrr9i6NZOdJzWiOZYawzVKPRtcsKbcZ6B50vvbimG8xNPQxbxg0+ULNpPQwzd0D+OdE+Ijbagk/+n2lNQ/VuPr+Ft06qXV5sQvJk8kPVjjNFiI+4yOxLyWd0CxcYMj2R3C97WgKw79RSZ2wlsZzxoIUYf/ajDq7qs45KQ==; 5:0lMfjPLX7qWHuiJBC71TGgcJRZmi1hW8SOSFmszrXuzOMdzodNENx3BTKvlxHaQboJJnzA0RfBARAGLIlJ4Z5Mi62Q5lcnQT6jGzU0NFmqro5hoLgM7e+0EdbT/Jk9qO8rduF381mj8mDKzvzR6D0ctnY87Deyq2TmGCF1yIpOI=; 7:3QfAIsOqGQFuLEFfNFloquwUqQ+tDGg64UOvyenHy6QGlBvJm3Ny0/fJ8XvdlrIiyo0mMs/tmrX3GS+DAL+gOb5N5HUp314H+g6GXkRPgD+0/dLwp16wdbUe3KT6k7rh54F55tz6yIUXxFqBjeOgvSIIoIbm77/lQG1ILCylXrvCiS1IWPYkSAheRFkIvhbGCEKJti6XxNdsw/ocCuL1fBZMWSRL9DPCc4uoIHMZ7lCKJKgLcphQJUuoRzz3gnti x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: a2d3494d-a3af-4693-c3bf-08d5f883b686 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:AM0PR0502MB3841; x-ms-traffictypediagnostic: AM0PR0502MB3841: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(228905959029699); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3231311)(944501410)(52105095)(3002001)(10201501046)(93006095)(93001095)(6055026)(149027)(150027)(6041310)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(20161123562045)(6072148)(201708071742011)(7699016); SRVR:AM0PR0502MB3841; BCL:0; PCL:0; RULEID:; SRVR:AM0PR0502MB3841; x-forefront-prvs: 07521929C1 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(136003)(39860400002)(396003)(346002)(376002)(199004)(189003)(99286004)(316002)(68736007)(486006)(25786009)(93886005)(14454004)(11346002)(256004)(14444005)(7696005)(478600001)(76176011)(39060400002)(305945005)(106356001)(66066001)(105586002)(74316002)(446003)(54906003)(476003)(4326008)(110136005)(8936002)(97736004)(7736002)(186003)(229853002)(2906002)(33656002)(53936002)(5250100002)(6116002)(3846002)(8676002)(9686003)(55016002)(102836004)(53546011)(2900100001)(81166006)(81156014)(6246003)(6506007)(86362001)(26005)(6436002)(5660300001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR0502MB3841; H:AM0PR0502MB4019.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: kGgJwqe381xLKsUIWlbu0NTSk4Nj0DEU/rgMzlnLz8neNDMYYlDzLxErvgB7VYyxZH5H7Bdlg/yMFyDqrveDakv+XWfv4e0jq8vqFstGpQnN8AJFgbqD2ICykp/UkKW6isQ4DSCir9ngNGjgXB6NCp6IcP0WfYY23vlbYX9XN3l4d+800bXqyUGMxFZgxj8Vv9r7Jb0XeK3Ff6YcyDB9DjFX4KrcrtS5rEiyYEqdG0Hx8SLe+5Ka51WLFMSlE2obcldkPGhUyMAuJ5FQxUWR5gdK8Hr/gpj3R4wxY82rRSk1xU9QEFLaUYtjwJ9jOoQ9al2BlszzLyby0EXNNsPYLUhriBkRfIlyDBDgkZxO0BU= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: a2d3494d-a3af-4693-c3bf-08d5f883b686 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Aug 2018 14:24:52.8857 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB3841 Subject: Re: [dpdk-dev] [PATCH] net/bonding: propagate promiscous mode in mode 4 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Aug 2018 14:25:09 -0000 SGkNCg0KRnJvbTogRG9oZXJ0eSwgRGVjbGFuDQo+IE9uIDAyLzA4LzIwMTggNzozNSBBTSwgTWF0 YW4gQXpyYWQgd3JvdGU6DQo+ID4gSGkgQ2hhcywgUmFkdQ0KPiA+DQo+ID4gRnJvbTogQ2hhcyBX aWxsaWFtcw0KPiA+PiBPbiBXZWQsIEF1ZyAxLCAyMDE4IGF0IDk6NDggQU0gUmFkdSBOaWNvbGF1 IDxyYWR1Lm5pY29sYXVAaW50ZWwuY29tPg0KPiA+PiB3cm90ZToNCj4gPj4NCj4gPj4+DQo+ID4+ Pg0KPiA+Pj4gT24gOC8xLzIwMTggMjozNCBQTSwgQ2hhcyBXaWxsaWFtcyB3cm90ZToNCj4gPj4+ DQo+ID4+Pg0KPiA+Pj4NCj4gPj4+IE9uIFdlZCwgQXVnIDEsIDIwMTggYXQgOTowNCBBTSBSYWR1 IE5pY29sYXUgPHJhZHUubmljb2xhdUBpbnRlbC5jb20+DQo+ID4+PiB3cm90ZToNCj4gPj4+DQo+ ID4+Pj4gVXBkYXRlIHRoZSBib25kaW5nIHByb21pc2N1b3VzIG1vZGUgZW5hYmxlL2Rpc2FibGUg ZnVuY3Rpb25zIGFzIHRvDQo+ID4+Pj4gcHJvcGFnYXRlIHRoZSBjaGFuZ2UgdG8gYWxsIHNsYXZl cyBpbnN0ZWFkIG9mIGRvaW5nIG5vdGhpbmc7IHRoaXMNCj4gPj4+PiBzZWVtcyB0byBiZSB0aGUg Y29ycmVjdCBiZWhhdmlvdXIgYWNjb3JkaW5nIHRvIHRoZSBzdGFuZGFyZCwgYW5kDQo+ID4+Pj4g YWxzbyBpbXBsZW1lbnRlZCBpbiB0aGUgbGludXggbmV0d29yayBzdGFjay4NCj4gPj4+Pg0KPiA+ Pj4+IFNpZ25lZC1vZmYtYnk6IFJhZHUgTmljb2xhdSA8cmFkdS5uaWNvbGF1QGludGVsLmNvbT4N Cj4gPj4+PiAtLS0NCj4gPj4+PiAgIGRyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX3Bt ZC5jIHwgOCArKy0tLS0tLQ0KPiA+Pj4+ICAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygr KSwgNiBkZWxldGlvbnMoLSkNCj4gPj4+Pg0KPiA+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9ib25kaW5nL3J0ZV9ldGhfYm9uZF9wbWQuYw0KPiA+Pj4+IGIvZHJpdmVycy9uZXQvYm9uZGlu Zy9ydGVfZXRoX2JvbmRfcG1kLmMNCj4gPj4+PiBpbmRleCBhZDZlMzNmLi4xNjEwNWNiIDEwMDY0 NA0KPiA+Pj4+IC0tLSBhL2RyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX3BtZC5jDQo+ ID4+Pj4gKysrIGIvZHJpdmVycy9uZXQvYm9uZGluZy9ydGVfZXRoX2JvbmRfcG1kLmMNCj4gPj4+ PiBAQCAtMjYxNywxMiArMjYxNywxMCBAQCBib25kX2V0aGRldl9wcm9taXNjdW91c19lbmFibGUo c3RydWN0DQo+ID4+Pj4gcnRlX2V0aF9kZXYNCj4gPj4+PiAqZXRoX2RldikNCj4gPj4+PiAgICAg ICAgICBjYXNlIEJPTkRJTkdfTU9ERV9ST1VORF9ST0JJTjoNCj4gPj4+PiAgICAgICAgICBjYXNl IEJPTkRJTkdfTU9ERV9CQUxBTkNFOg0KPiA+Pj4+ICAgICAgICAgIGNhc2UgQk9ORElOR19NT0RF X0JST0FEQ0FTVDoNCj4gPj4+PiArICAgICAgIGNhc2UgQk9ORElOR19NT0RFXzgwMjNBRDoNCj4g Pj4+PiAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBpbnRlcm5hbHMtPnNsYXZlX2Nv dW50OyBpKyspDQo+ID4+Pj4NCj4gPj4+PiBydGVfZXRoX3Byb21pc2N1b3VzX2VuYWJsZShpbnRl cm5hbHMtPnNsYXZlc1tpXS5wb3J0X2lkKTsNCj4gPj4+PiAgICAgICAgICAgICAgICAgIGJyZWFr Ow0KPiA+Pj4+IC0gICAgICAgLyogSW4gbW9kZTQgcHJvbWlzY3VzIG1vZGUgaXMgbWFuYWdlZCB3 aGVuIHNsYXZlIGlzDQo+ID4+IGFkZGVkL3JlbW92ZWQNCj4gPj4+PiAqLw0KPiA+Pj4+DQo+ID4+ Pg0KPiA+Pj4gVGhpcyBjb21tZW50IGlzIHRydWUgKGFuZCBpdCBhcHBlYXJzIGl0IGlzIGFsd2F5 cyBvbiBpbiA4MDIuM2FkIG1vZGUpOg0KPiA+Pj4NCj4gPj4+ICAgICAgICAgIC8qIHVzZSB0aGlz IHBvcnQgYXMgYWdyZWdhdG9yICovDQo+ID4+PiAgICAgICAgICBwb3J0LT5hZ2dyZWdhdG9yX3Bv cnRfaWQgPSBzbGF2ZV9pZDsNCj4gPj4+ICAgICAgICAgIHJ0ZV9ldGhfcHJvbWlzY3VvdXNfZW5h YmxlKHNsYXZlX2lkKTsNCj4gPj4+DQo+ID4+PiBJZiB3ZSBhcmUgZ29pbmcgdG8gZG8gdGhpcyBo ZXJlLCB3ZSBzaG91bGQgcHJvYmFibHkgZ2V0IHJpZCBvZiBpdCBpbg0KPiA+Pj4gdGhlIG90aGVy IGxvY2F0aW9uIHNvIHRoYXQgZnV0dXJlIHJlYWRlcnMgYXJlbid0IGNvbmZ1c2VkIGFib3V0DQo+ ID4+PiB3aGljaCBpcyB0aGUgb25lIGRvaW5nIHRoZSB3b3JrLg0KPiA+Pj4NCj4gPj4+IFNpbmNl IHNvbWUgYWRhcHRlcnMgZG9uJ3QgaGF2ZSBncm91cCBtdWx0aWNhc3Qgc3VwcG9ydCwgd2UgbWln aHQNCj4gPj4+IGFscmVhZHkgYmUgaW4gcHJvbWlzY3VvdXMgYW55d2F5LiAgVHVybmluZyBvZmYg cHJvbWlzY3VvdXMgZm9yIHRoZQ0KPiA+Pj4gYm9uZGluZyBtYXN0ZXIgbWlnaHQgdHVybiBpdCBv ZmYgaW4gdGhlIHNsYXZlcyB3aGVyZSBhbiBhcHBsaWNhdGlvbg0KPiA+Pj4gaGFzIGFscmVhZHkg ZW5hYmxlZCBpdC4NCj4gPj4+DQo+ID4+Pg0KPiA+Pj4gVGhlIGlkZWEgd2FzIHRvIHByZXNlcnZl IHRoZSBjdXJyZW50IGJlaGF2aW9yIGV4Y2VwdCBmb3IgdGhlDQo+ID4+PiBleHBsaWNpdCBwcm9t aXNjdW91cyBkaXNhYmxlL2VuYWJsZSBBUElzOyBhbiBhcHBsaWNhdGlvbiBtYXkgZGlzYWJsZQ0K PiA+Pj4gdGhlIHByb21pc2N1b3VzIG1vZGUgb24gdGhlIGJvbmRpbmcgcG9ydCBhbmQgdGhlbiBl bmFibGUgaXQgYmFjaywNCj4gPj4+IGV4cGVjdGluZyBpdCB0byBwcm9wYWdhdGUgdG8gdGhlIHNs YXZlcy4NCj4gPj4+DQo+ID4+DQo+ID4+IFllcywgYnV0IGFuIGFwcGxpY2F0aW9uIGRvaW5nIHRo YXQgd2lsbCBicmVhayA4MDIuM2FkIGJlY2F1c2UNCj4gPj4gcHJvbWlzY3VvdXMgbW9kZSBpcyB1 c2VkIHRvIHJlY2VpdmUgdGhlIExBRyBQRFVzIHdoaWNoIGFyZSBvbiBhIG11bHRpY2FzdA0KPiBn cm91cC4NCj4gPj4gVGhhdCdzIHdoeSB0aGlzIGNvZGUgZG9lc24ndCBsZXQgeW91IGRpc2FibGUg cHJvbWlzY3VvdXMgd2hlbiB5b3UgYXJlDQo+ID4+IGluIDgwMi4zYWQgbW9kZS4NCj4gPj4NCj4g Pj4gSWYgeW91IHdhbnQgdG8gZG8gdGhpcyBpdCBuZWVkcyB0byBiZSBtb3JlIGNvbXBsaWNhdGVk LiAgSW4gODAyLjNhZCwNCj4gPj4geW91IHNob3VsZCB0cnkgdG8gYWRkIHRoZSBtdWx0aWNhc3Qg Z3JvdXAgdG8gdGhlIHNsYXZlIGludGVyZmFjZS4gIElmDQo+ID4+IHRoYXQgZmFpbHMsIHR1cm4g b24gcHJvbWlzYyBtb2RlIGZvciB0aGUgc2xhdmUuICBNYWtlIG5vdGUgb2YgaXQuDQo+ID4+IExh dGVyIGlmIGJvbmRpbmcgd2FudHMgdG8gZW5hYmxlZC9kaXNhYmxlIHByb21pc2MgbW9kZSBmb3Ig dGhlDQo+ID4+IHNsYXZlcywgaXQgbmVlZHMgdG8gY2hlY2sgaWYgdGhhdCBzbGF2ZXMgbmVlZHMg dG8gcmVtYWluIGluIHByb21pc2MgdG8NCj4gY29udGludWUgdG8gZ2V0IHRoZSBMQUcgUERVcy4N Cj4gPg0KPiA+IEkgYWdyZWUgd2l0aCBDaGFzIHRoYXQgdGhpcyBjb21taXQgd2lsbCBodXJ0IGN1 cnJlbnQgTEFDUCBsb2dpYywgYnV0IG1heWJlDQo+IHRoaXMgaXMgdGhlIHRpbWUgdG8gb3BlbiBk aXNjdXNzaW9uIGFib3V0IGl0Og0KPiA+IFRoZSBjdXJyZW50IGJvbmRpbmcgaW1wbGVtZW50YXRp b24gaXMgZ3JlZWR5IHdoaWxlIGl0IHNldHRpbmcNCj4gPiBwcm9taXNjdW91cyBhdXRvbWF0aWNh bGx5IGZvciBMQUNQLCBUaGUgdXNlciBhc2tzIExBQ1AgYW5kIGhlIGdldHMNCj4gcHJvbWlzY3Vv dXMgYnkgdGhlIHdheS4NCj4gPg0KPiA+IFNvIGlmIHRoZSB1c2VyIGRvbid0IHdhbnQgcHJvbWlz Y3VvdXMgaGUgbXVzdCB0byBkaXNhYmxlIGl0IGRpcmVjdGx5IHZpYSBzbGF2ZXMNCj4gcG9ydHMg YW5kIHRvIGFsbG93IExBQ1AgdXNpbmcgcnRlX2Zsb3dcZmxvdw0KPiBkaXJlY3RvclxzZXRfbWNf YWRkcl9saXN0XGFsbG11bHRpLi4uDQo+ID4NCj4gPiBJIHRoaW5rIHRoZSBiZXN0IHdheSBpcyB0 byBsZXQgdGhlIHVzZXIgdG8gZW5hYmxlIExBQ1AgIGFzIGhlIHdhbnRzLCBkaXJlY3RseSB2aWEN Cj4gc2xhdmVzIG9yIGJ5IHRoZSBib25kIHByb21pc2N1b3VzX2VuYWJsZSBBUEkuDQo+ID4gRm9y IHN1cmUsIGl0IG11c3QgYmUgZG9jdW1lbnRlZCB3ZWxsLg0KPiA+DQo+ID4gTWF0YW4uDQo+ID4N Cj4gDQo+IEknbSB0aGlua2luZyB0aGF0IGRlZmF1bHQgYmVoYXZpb3Igc2hvdWxkIGJlIHRoYXQg cHJvbWlzY3VvdXMgbW9kZSBzaG91bGQgYmUNCj4gZGlzYWJsZWQgYnkgZGVmYXVsdCwgYW5kIHRo YXQgdGhlIGJvbmQgcG9ydCBzaG91bGQgZmFpbCB0byBzdGFydCBpZiBhbnkgb2YgdGhlIHNsYXZl DQo+IHBvcnRzIGNhbid0IHN1cHBvcnQgc3Vic2NyaXB0aW9uIHRvIHRoZSBMQUNQIG11bHRpY2Fz dCBncm91cC4gQXQgdGhpcyBwb2ludCB0aGUNCj4gdXNlciBjYW4gZGVjaWRlZCB0byBlbmFibGUg cHJvbWlzY3VvdXMgbW9kZSBvbiB0aGUgYm9uZCBwb3J0IChhbmQgdGhlcmVmb3JlDQo+IG9uIGFs bCB0aGUgc2xhdmVzKSBhbmQgdGhlbiBzdGFydCB0aGUgYm9uZC4gSWYgd2UgaGF2ZSBzbGF2ZXMg d2l0aCBkaWZmZXJlbnQNCj4gY29uZmlndXJhdGlvbnMgZm9yIG11bHRpY2FzdCBzdWJzY3JpcHRp b25zIG9yIHByb21pc2N1b3VzIG1vZGUgZW5hYmxlbWVudCwNCj4gdGhlbiB0aGVyZSBpcyBwb3Rl bnRpYWxseSB0aGUgb3Bwb3J0dW5pdHkgZm9yIGluY29uc2lzdGVuY3kgaW4gdHJhZmZpYyBkZXBl bmRpbmcNCj4gb24gd2hpY2ggc2xhdmVzIGFyZSBhY3RpdmUuDQoNCj4gUGVyc29uYWxseSBJIHdv dWxkIHByZWZlciB0aGF0IGFsbCBjb25maWd1cmF0aW9uIGlmIHBvc3NpYmxlIGlzIHByb3BhZ2F0 ZWQNCj4gdGhyb3VnaCB0aGUgYm9uZCBwb3J0LiBTbyBpZiBhIHVzZXIgd2FudHMgdG8gdXNlIGEg cG9ydCB3aGljaCBkb2Vzbid0IHN1cHBvcnQNCj4gbXVsdGljYXN0IHN1YnNjcmlwdGlvbiB0aGVu IGFsbCBwb3J0cyBpbiB0aGUgYm9uZCBuZWVkIHRvIGJlIGluIHByb21pc2N1b3VzDQo+IG1vZGUs IGFuZCB0aGUgdXNlciBuZWVkcyB0byBleHBsaWNpdGx5IGVuYWJsZSBpdCB0aHJvdWdoIHRoZSBi b25kIHBvcnQsIHRoYXQgd2F5DQo+IGF0IGxlYXN0IHdlIGNhbiBndWFyYW50ZWUgY29uc2lzdCB0 cmFmZmljIGlycmVzcGVjdGl2ZSBvZiB3aGljaCBwb3J0cyBpbiB0aGUgYm9uZA0KPiBhcmUgYWN0 aXZlIGF0IGFueSBvbmUgdGltZS4NCg0KVGhhdCdzIGV4YWN0bHkgd2hhdCBJIHNhaWQgOikNCg0K SSBzdWdnZXN0IHRvIGRvIGl0IGxpa2UgbmV4dCwNClRvIGFkZCBvbmUgbW9yZSBwYXJhbWV0ZXIg Zm9yIExBQ1Agd2hpY2ggbWVhbnMgaG93IHRvIGNvbmZpZ3VyZSB0aGUgTEFDUCBNQyBncm91cCAt IGxhY3BfbWNfZ3JwX2NvbmY6DQoxLiBydGVfZmxvdy4NCjIuIGZsb3cgZGlyZWN0b3IuDQozLiBh ZGRfbWFjLg0KMy4gc2V0X21jX2FkZF9saXN0DQo0LiBhbGxtdWx0aQ0KNS4gcHJvbWlzY3VvdXMN Ck1heWJlIG1vcmUuLi4gb3IgbGVzcyA6KQ0KDQpCeSB0aGlzIHdheSB0aGUgdXNlciBkZWNpZGVz IGhvdyB0byBkbyBpdCwgaWYgaXQncyBmYWlsIGZvciBhIHNsYXZlLCB0aGUgc2FsdmUgc2hvdWxk IGJlIHJlamVjdGVkLg0KQ29uZmxpY3Qgd2l0aCBhbm90aGVyIGNvbmZpZ3VyYXRpb24oZm9yIGV4 YW1wbGUgY2FsbGluZyB0byBwcm9taXNjdW91cyBkaXNhYmxlIHdoaWxlIHJ1bm5pbmcgTEFDUCBs YWNwX21jX2dycF9jb25mPTUpIHNob3VsZCByYWlzZSBhbiBlcnJvci4NCg0KV2hhdCBkbyB5b3Ug dGhpbms/DQoNCk1hdGFuLg0KDQoNCg==