From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80050.outbound.protection.outlook.com [40.107.8.50]) by dpdk.org (Postfix) with ESMTP id 047AB1B4E9 for ; Thu, 2 Aug 2018 19:33:02 +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=a10X1dYu6CVaeMcU/m6WQvRYTRxvQF890SnS+JEqeHU=; b=W1q/9E5cz6QEAlRJG8LYFu3XkIIaTZkkP0so+P5ZCaiE9cUjEGyU/jCvOzi+MmGQ2B570sAbiEPXIhsh4c3eMdxlea6VNWQQNAlPVUJhv9GnUIp7EoWtbahfXOWG4PAifRuBkOzNw3230ZbIlAiul4gOBxp39gkC/jPEj6a/cvM= Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com (52.133.41.11) by AM0PR0502MB4001.eurprd05.prod.outlook.com (52.133.40.157) 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 17:33:00 +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 17:33:00 +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: AQHUKmQYnEGgR8DEIE6FcI4JuB6VXaSsgUTQgAAb+ACAABLM8A== Date: Thu, 2 Aug 2018 17:33:00 +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: 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: [85.64.136.190] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; AM0PR0502MB4001; 6:lWFNG4uk70L+jneUnjbH0TnwEHq51y3KD9f2b3ior/8H46vMyBY8anvtSW7JfJJpmURrkpQ78SBbdbzc1/HiqD6LY39jEDo+a5ZSt9rqCl2L6ABh7z1jLBThWQ/NkDupSqzIkUZaA4+ccAQkodfuo8OtqjJdXdqM3TZ4JRvOp8S+ThyIMG50HbA2XC5g3i4p+Dtklm1FUGix9ktNJ2R1dWRoVaAGU1aJOgsufLi5CM7iXyD+A3xN6joQ+GxiheyEOvpD8Ip7Wez5FXSetHT4dMDTsuJLiMwOT9aWTMUDNNsHKG4t+184HadDoWibuCvR4b9p87vJYPpaxogxewykBK3lMQVbz6DNDdfdo2xlukqGIrHkvY3IkhFVixzMppt55rIhmTYYPxwF7N93XaBBb2PjrZG3PpVwx8CegZz+9/4nDOQ+JYs7IH4WGA+f18MFbeBl8SMRGtU2O91wFP7LgA==; 5:eeXn71rrnZzh+ILw+wU1OsOJzIk8IjvXX50bPlhwLnYsXqlbcPoPHcjSmQtyHNRjB9n9m3IUFiYkPZB3TDXgr847XkzSxOYXTCCb6FqNa1zrvxT54aTFEL4UZqtgONFEd/HxMmfV4k2cBWD4df2p/zomLW4tarQ7PiENhqq0c4s=; 7:mo+gVXiDe1fUgfuVSY5yYacgmexjlkjrNStu8mzTqxeXG9HCKveC4guoMr4NOKxXDvDbAMF8Hh6wquDIX65de4GXKYI1eEd83kiCCnAHvDRlIV9vQl3ZSQWu/uT9hxezGq4GCnLN4p3iLMKHogbFgaU5ykBzlYjF/XfPbSIA4CZYDtkCcsXPw8RUSdPV6qVgM0OzM6MohVzmIdr57hSLk4M6ojgcczzoJtLSvlyBMDpeA3ae6KdDpFxZboMwVNyZ x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: 765324ad-ece5-444e-9ea9-08d5f89dfe92 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:AM0PR0502MB4001; x-ms-traffictypediagnostic: AM0PR0502MB4001: 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)(8121501046)(5005006)(3231311)(944501410)(52105095)(3002001)(93006095)(93001095)(10201501046)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123562045)(20161123560045)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:AM0PR0502MB4001; BCL:0; PCL:0; RULEID:; SRVR:AM0PR0502MB4001; x-forefront-prvs: 07521929C1 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(396003)(39860400002)(366004)(136003)(376002)(54094003)(189003)(199004)(54906003)(93886005)(99286004)(14454004)(486006)(11346002)(305945005)(14444005)(25786009)(7696005)(478600001)(256004)(39060400002)(76176011)(106356001)(74316002)(66066001)(68736007)(4326008)(476003)(110136005)(105586002)(316002)(446003)(33656002)(97736004)(186003)(8936002)(229853002)(5250100002)(9686003)(53936002)(6116002)(8676002)(55016002)(7736002)(102836004)(53546011)(2906002)(81166006)(81156014)(26005)(86362001)(6506007)(2900100001)(6436002)(6246003)(5660300001)(3846002); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR0502MB4001; H:AM0PR0502MB4019.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: OKERF62HkDn1y5s5XAHdaRrWoj3nwCWPmrgTEK8Slgkhv3UXKqpMWgEXLHKp+gC+5cnQrleJiDmUsY3bRFAeXWzxyFweBSVgWTgRO8v5oAJ/zibQeKuRzrJHC9qgrtFdf8GAKr5aPHOvbMDiVVN/IsdElnMm54hzMKfIplDex3tlRx4TAIuEnVd88JkZL2RhLsavVGgEh2aTDJZur4X8FddEZtAUstBj61MIa5Z75M0nK1q85T20Jt1r3M2zPlO9dIaXS4es+9YPbw5VdELHoOeh8Ed1HXvFEiIdflFjELESF2mUyxaOuK2dQEgENdCm0UJXYY9X8mO6n8qWbRfnaAq0aX5ABciq46yjRoin6a4= 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: 765324ad-ece5-444e-9ea9-08d5f89dfe92 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Aug 2018 17:33:00.6431 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB4001 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 17:33:06 -0000 SGkgRGVjbGFuDQoNCkZyb206IERvaGVydHksIERlY2xhbg0KPiBPbiAwMi8wOC8yMDE4IDM6MjQg UE0sIE1hdGFuIEF6cmFkIHdyb3RlOg0KPiA+IEhpDQo+ID4NCj4gPiBGcm9tOiBEb2hlcnR5LCBE ZWNsYW4NCj4gPj4gT24gMDIvMDgvMjAxOCA3OjM1IEFNLCBNYXRhbiBBenJhZCB3cm90ZToNCj4g Pj4+IEhpIENoYXMsIFJhZHUNCj4gPj4+DQo+ID4+PiBGcm9tOiBDaGFzIFdpbGxpYW1zDQo+ID4+ Pj4gT24gV2VkLCBBdWcgMSwgMjAxOCBhdCA5OjQ4IEFNIFJhZHUgTmljb2xhdSA8cmFkdS5uaWNv bGF1QGludGVsLmNvbT4NCj4gPj4+PiB3cm90ZToNCj4gPj4+Pg0KPiA+Pj4+Pg0KPiA+Pj4+Pg0K PiA+Pj4+PiBPbiA4LzEvMjAxOCAyOjM0IFBNLCBDaGFzIFdpbGxpYW1zIHdyb3RlOg0KPiA+Pj4+ Pg0KPiA+Pj4+Pg0KPiA+Pj4+Pg0KPiA+Pj4+PiBPbiBXZWQsIEF1ZyAxLCAyMDE4IGF0IDk6MDQg QU0gUmFkdSBOaWNvbGF1DQo+IDxyYWR1Lm5pY29sYXVAaW50ZWwuY29tPg0KPiA+Pj4+PiB3cm90 ZToNCj4gPj4+Pj4NCj4gPj4+Pj4+IFVwZGF0ZSB0aGUgYm9uZGluZyBwcm9taXNjdW91cyBtb2Rl IGVuYWJsZS9kaXNhYmxlIGZ1bmN0aW9ucyBhcyB0bw0KPiA+Pj4+Pj4gcHJvcGFnYXRlIHRoZSBj aGFuZ2UgdG8gYWxsIHNsYXZlcyBpbnN0ZWFkIG9mIGRvaW5nIG5vdGhpbmc7IHRoaXMNCj4gPj4+ Pj4+IHNlZW1zIHRvIGJlIHRoZSBjb3JyZWN0IGJlaGF2aW91ciBhY2NvcmRpbmcgdG8gdGhlIHN0 YW5kYXJkLCBhbmQNCj4gPj4+Pj4+IGFsc28gaW1wbGVtZW50ZWQgaW4gdGhlIGxpbnV4IG5ldHdv cmsgc3RhY2suDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogUmFkdSBOaWNvbGF1 IDxyYWR1Lm5pY29sYXVAaW50ZWwuY29tPg0KPiA+Pj4+Pj4gLS0tDQo+ID4+Pj4+PiAgICBkcml2 ZXJzL25ldC9ib25kaW5nL3J0ZV9ldGhfYm9uZF9wbWQuYyB8IDggKystLS0tLS0NCj4gPj4+Pj4+ ICAgIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pDQo+ID4+ Pj4+Pg0KPiA+Pj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9i b25kX3BtZC5jDQo+ID4+Pj4+PiBiL2RyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX3Bt ZC5jDQo+ID4+Pj4+PiBpbmRleCBhZDZlMzNmLi4xNjEwNWNiIDEwMDY0NA0KPiA+Pj4+Pj4gLS0t IGEvZHJpdmVycy9uZXQvYm9uZGluZy9ydGVfZXRoX2JvbmRfcG1kLmMNCj4gPj4+Pj4+ICsrKyBi L2RyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX3BtZC5jDQo+ID4+Pj4+PiBAQCAtMjYx NywxMiArMjYxNywxMCBAQCBib25kX2V0aGRldl9wcm9taXNjdW91c19lbmFibGUoc3RydWN0DQo+ ID4+Pj4+PiBydGVfZXRoX2Rldg0KPiA+Pj4+Pj4gKmV0aF9kZXYpDQo+ID4+Pj4+PiAgICAgICAg ICAgY2FzZSBCT05ESU5HX01PREVfUk9VTkRfUk9CSU46DQo+ID4+Pj4+PiAgICAgICAgICAgY2Fz ZSBCT05ESU5HX01PREVfQkFMQU5DRToNCj4gPj4+Pj4+ICAgICAgICAgICBjYXNlIEJPTkRJTkdf TU9ERV9CUk9BRENBU1Q6DQo+ID4+Pj4+PiArICAgICAgIGNhc2UgQk9ORElOR19NT0RFXzgwMjNB RDoNCj4gPj4+Pj4+ICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBpbnRlcm5hbHMt PnNsYXZlX2NvdW50OyBpKyspDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gcnRlX2V0aF9wcm9taXNjdW91 c19lbmFibGUoaW50ZXJuYWxzLT5zbGF2ZXNbaV0ucG9ydF9pZCk7DQo+ID4+Pj4+PiAgICAgICAg ICAgICAgICAgICBicmVhazsNCj4gPj4+Pj4+IC0gICAgICAgLyogSW4gbW9kZTQgcHJvbWlzY3Vz IG1vZGUgaXMgbWFuYWdlZCB3aGVuIHNsYXZlIGlzDQo+ID4+Pj4gYWRkZWQvcmVtb3ZlZA0KPiA+ Pj4+Pj4gKi8NCj4gPj4+Pj4+DQo+ID4+Pj4+DQo+ID4+Pj4+IFRoaXMgY29tbWVudCBpcyB0cnVl IChhbmQgaXQgYXBwZWFycyBpdCBpcyBhbHdheXMgb24gaW4gODAyLjNhZCBtb2RlKToNCj4gPj4+ Pj4NCj4gPj4+Pj4gICAgICAgICAgIC8qIHVzZSB0aGlzIHBvcnQgYXMgYWdyZWdhdG9yICovDQo+ ID4+Pj4+ICAgICAgICAgICBwb3J0LT5hZ2dyZWdhdG9yX3BvcnRfaWQgPSBzbGF2ZV9pZDsNCj4g Pj4+Pj4gICAgICAgICAgIHJ0ZV9ldGhfcHJvbWlzY3VvdXNfZW5hYmxlKHNsYXZlX2lkKTsNCj4g Pj4+Pj4NCj4gPj4+Pj4gSWYgd2UgYXJlIGdvaW5nIHRvIGRvIHRoaXMgaGVyZSwgd2Ugc2hvdWxk IHByb2JhYmx5IGdldCByaWQgb2YgaXQgaW4NCj4gPj4+Pj4gdGhlIG90aGVyIGxvY2F0aW9uIHNv IHRoYXQgZnV0dXJlIHJlYWRlcnMgYXJlbid0IGNvbmZ1c2VkIGFib3V0DQo+ID4+Pj4+IHdoaWNo IGlzIHRoZSBvbmUgZG9pbmcgdGhlIHdvcmsuDQo+ID4+Pj4+DQo+ID4+Pj4+IFNpbmNlIHNvbWUg YWRhcHRlcnMgZG9uJ3QgaGF2ZSBncm91cCBtdWx0aWNhc3Qgc3VwcG9ydCwgd2UgbWlnaHQNCj4g Pj4+Pj4gYWxyZWFkeSBiZSBpbiBwcm9taXNjdW91cyBhbnl3YXkuICBUdXJuaW5nIG9mZiBwcm9t aXNjdW91cyBmb3IgdGhlDQo+ID4+Pj4+IGJvbmRpbmcgbWFzdGVyIG1pZ2h0IHR1cm4gaXQgb2Zm IGluIHRoZSBzbGF2ZXMgd2hlcmUgYW4gYXBwbGljYXRpb24NCj4gPj4+Pj4gaGFzIGFscmVhZHkg ZW5hYmxlZCBpdC4NCj4gPj4+Pj4NCj4gPj4+Pj4NCj4gPj4+Pj4gVGhlIGlkZWEgd2FzIHRvIHBy ZXNlcnZlIHRoZSBjdXJyZW50IGJlaGF2aW9yIGV4Y2VwdCBmb3IgdGhlDQo+ID4+Pj4+IGV4cGxp Y2l0IHByb21pc2N1b3VzIGRpc2FibGUvZW5hYmxlIEFQSXM7IGFuIGFwcGxpY2F0aW9uIG1heSBk aXNhYmxlDQo+ID4+Pj4+IHRoZSBwcm9taXNjdW91cyBtb2RlIG9uIHRoZSBib25kaW5nIHBvcnQg YW5kIHRoZW4gZW5hYmxlIGl0IGJhY2ssDQo+ID4+Pj4+IGV4cGVjdGluZyBpdCB0byBwcm9wYWdh dGUgdG8gdGhlIHNsYXZlcy4NCj4gPj4+Pj4NCj4gPj4+Pg0KPiA+Pj4+IFllcywgYnV0IGFuIGFw cGxpY2F0aW9uIGRvaW5nIHRoYXQgd2lsbCBicmVhayA4MDIuM2FkIGJlY2F1c2UNCj4gPj4+PiBw cm9taXNjdW91cyBtb2RlIGlzIHVzZWQgdG8gcmVjZWl2ZSB0aGUgTEFHIFBEVXMgd2hpY2ggYXJl IG9uIGENCj4gbXVsdGljYXN0DQo+ID4+IGdyb3VwLg0KPiA+Pj4+IFRoYXQncyB3aHkgdGhpcyBj b2RlIGRvZXNuJ3QgbGV0IHlvdSBkaXNhYmxlIHByb21pc2N1b3VzIHdoZW4geW91IGFyZQ0KPiA+ Pj4+IGluIDgwMi4zYWQgbW9kZS4NCj4gPj4+Pg0KPiA+Pj4+IElmIHlvdSB3YW50IHRvIGRvIHRo aXMgaXQgbmVlZHMgdG8gYmUgbW9yZSBjb21wbGljYXRlZC4gIEluIDgwMi4zYWQsDQo+ID4+Pj4g eW91IHNob3VsZCB0cnkgdG8gYWRkIHRoZSBtdWx0aWNhc3QgZ3JvdXAgdG8gdGhlIHNsYXZlIGlu dGVyZmFjZS4gIElmDQo+ID4+Pj4gdGhhdCBmYWlscywgdHVybiBvbiBwcm9taXNjIG1vZGUgZm9y IHRoZSBzbGF2ZS4gIE1ha2Ugbm90ZSBvZiBpdC4NCj4gPj4+PiBMYXRlciBpZiBib25kaW5nIHdh bnRzIHRvIGVuYWJsZWQvZGlzYWJsZSBwcm9taXNjIG1vZGUgZm9yIHRoZQ0KPiA+Pj4+IHNsYXZl cywgaXQgbmVlZHMgdG8gY2hlY2sgaWYgdGhhdCBzbGF2ZXMgbmVlZHMgdG8gcmVtYWluIGluIHBy b21pc2MgdG8NCj4gPj4gY29udGludWUgdG8gZ2V0IHRoZSBMQUcgUERVcy4NCj4gPj4+DQo+ID4+ PiBJIGFncmVlIHdpdGggQ2hhcyB0aGF0IHRoaXMgY29tbWl0IHdpbGwgaHVydCBjdXJyZW50IExB Q1AgbG9naWMsIGJ1dCBtYXliZQ0KPiA+PiB0aGlzIGlzIHRoZSB0aW1lIHRvIG9wZW4gZGlzY3Vz c2lvbiBhYm91dCBpdDoNCj4gPj4+IFRoZSBjdXJyZW50IGJvbmRpbmcgaW1wbGVtZW50YXRpb24g aXMgZ3JlZWR5IHdoaWxlIGl0IHNldHRpbmcNCj4gPj4+IHByb21pc2N1b3VzIGF1dG9tYXRpY2Fs bHkgZm9yIExBQ1AsIFRoZSB1c2VyIGFza3MgTEFDUCBhbmQgaGUgZ2V0cw0KPiA+PiBwcm9taXNj dW91cyBieSB0aGUgd2F5Lg0KPiA+Pj4NCj4gPj4+IFNvIGlmIHRoZSB1c2VyIGRvbid0IHdhbnQg cHJvbWlzY3VvdXMgaGUgbXVzdCB0byBkaXNhYmxlIGl0IGRpcmVjdGx5IHZpYQ0KPiBzbGF2ZXMN Cj4gPj4gcG9ydHMgYW5kIHRvIGFsbG93IExBQ1AgdXNpbmcgcnRlX2Zsb3dcZmxvdw0KPiA+PiBk aXJlY3RvclxzZXRfbWNfYWRkcl9saXN0XGFsbG11bHRpLi4uDQo+ID4+Pg0KPiA+Pj4gSSB0aGlu ayB0aGUgYmVzdCB3YXkgaXMgdG8gbGV0IHRoZSB1c2VyIHRvIGVuYWJsZSBMQUNQICBhcyBoZSB3 YW50cywgZGlyZWN0bHkNCj4gdmlhDQo+ID4+IHNsYXZlcyBvciBieSB0aGUgYm9uZCBwcm9taXNj dW91c19lbmFibGUgQVBJLg0KPiA+Pj4gRm9yIHN1cmUsIGl0IG11c3QgYmUgZG9jdW1lbnRlZCB3 ZWxsLg0KPiA+Pj4NCj4gPj4+IE1hdGFuLg0KPiA+Pj4NCj4gPj4NCj4gPj4gSSdtIHRoaW5raW5n IHRoYXQgZGVmYXVsdCBiZWhhdmlvciBzaG91bGQgYmUgdGhhdCBwcm9taXNjdW91cyBtb2RlIHNo b3VsZA0KPiBiZQ0KPiA+PiBkaXNhYmxlZCBieSBkZWZhdWx0LCBhbmQgdGhhdCB0aGUgYm9uZCBw b3J0IHNob3VsZCBmYWlsIHRvIHN0YXJ0IGlmIGFueSBvZiB0aGUNCj4gc2xhdmUNCj4gPj4gcG9y dHMgY2FuJ3Qgc3VwcG9ydCBzdWJzY3JpcHRpb24gdG8gdGhlIExBQ1AgbXVsdGljYXN0IGdyb3Vw LiBBdCB0aGlzIHBvaW50DQo+IHRoZQ0KPiA+PiB1c2VyIGNhbiBkZWNpZGVkIHRvIGVuYWJsZSBw cm9taXNjdW91cyBtb2RlIG9uIHRoZSBib25kIHBvcnQgKGFuZA0KPiB0aGVyZWZvcmUNCj4gPj4g b24gYWxsIHRoZSBzbGF2ZXMpIGFuZCB0aGVuIHN0YXJ0IHRoZSBib25kLiBJZiB3ZSBoYXZlIHNs YXZlcyB3aXRoIGRpZmZlcmVudA0KPiA+PiBjb25maWd1cmF0aW9ucyBmb3IgbXVsdGljYXN0IHN1 YnNjcmlwdGlvbnMgb3IgcHJvbWlzY3VvdXMgbW9kZSBlbmFibGVtZW50LA0KPiA+PiB0aGVuIHRo ZXJlIGlzIHBvdGVudGlhbGx5IHRoZSBvcHBvcnR1bml0eSBmb3IgaW5jb25zaXN0ZW5jeSBpbiB0 cmFmZmljDQo+IGRlcGVuZGluZw0KPiA+PiBvbiB3aGljaCBzbGF2ZXMgYXJlIGFjdGl2ZS4NCj4g Pg0KPiA+PiBQZXJzb25hbGx5IEkgd291bGQgcHJlZmVyIHRoYXQgYWxsIGNvbmZpZ3VyYXRpb24g aWYgcG9zc2libGUgaXMgcHJvcGFnYXRlZA0KPiA+PiB0aHJvdWdoIHRoZSBib25kIHBvcnQuIFNv IGlmIGEgdXNlciB3YW50cyB0byB1c2UgYSBwb3J0IHdoaWNoIGRvZXNuJ3Qgc3VwcG9ydA0KPiA+ PiBtdWx0aWNhc3Qgc3Vic2NyaXB0aW9uIHRoZW4gYWxsIHBvcnRzIGluIHRoZSBib25kIG5lZWQg dG8gYmUgaW4gcHJvbWlzY3VvdXMNCj4gPj4gbW9kZSwgYW5kIHRoZSB1c2VyIG5lZWRzIHRvIGV4 cGxpY2l0bHkgZW5hYmxlIGl0IHRocm91Z2ggdGhlIGJvbmQgcG9ydCwgdGhhdA0KPiB3YXkNCj4g Pj4gYXQgbGVhc3Qgd2UgY2FuIGd1YXJhbnRlZSBjb25zaXN0IHRyYWZmaWMgaXJyZXNwZWN0aXZl IG9mIHdoaWNoIHBvcnRzIGluIHRoZQ0KPiBib25kDQo+ID4+IGFyZSBhY3RpdmUgYXQgYW55IG9u ZSB0aW1lLg0KPiA+DQo+ID4gVGhhdCdzIGV4YWN0bHkgd2hhdCBJIHNhaWQgOikNCj4gPg0KPiAN Cj4gOikNCj4gDQo+IEkgZ3Vlc3Mgc28sIGJ1dCBpdCB3YXMgdGhlIGNvbmZpZ3VyYXRpb24gZGly ZWN0bHkgdmlhIHRoZSBzbGF2ZSBwb3J0IGJpdA0KPiB3aGljaCBoYWQgbWUgY29uY2VybmVkLCBJ IHRoaW5rIHRoaXMgbmVlZHMgdG8gYmUgbWFuYWdlZCBkaXJlY3RseSBmcm9tDQo+IHRoZSBib25k IHBvcnQsIGlkZWFsbHkgdGhleQ0KDQpZZXMsIGJ1dCB5b3Uga25vdyB0aGF0IGJvbmQgaXMgZmFy IGZyb20gc3VwcG9ydGluZyBhbGwgdGhlIGV0aGRldiBjb25maWd1cmF0aW9uDQphbmQgdGhlcmUg aXMgbm90IGEgY2xlYXIgbGltaXRhdGlvbiBpbiBib25kIGRvY3VtZW50YXRpb24gdG8gZG8gY29u ZmlndXJhdGlvbiB2aWEgc2xhdmVzLg0KDQpJIGFncmVlIHRoYXQgaXQncyBiZXR0ZXIgdG8gdXNl IHNvbWUgYm9uZCBBUEkgdG8gY29uZmlndXJlIHRoZSBMQUNQIG1jIGdyb3VwLg0KDQogDQo+IA0K PiANCj4gPiBJIHN1Z2dlc3QgdG8gZG8gaXQgbGlrZSBuZXh0LA0KPiA+IFRvIGFkZCBvbmUgbW9y ZSBwYXJhbWV0ZXIgZm9yIExBQ1Agd2hpY2ggbWVhbnMgaG93IHRvIGNvbmZpZ3VyZSB0aGUNCj4g TEFDUCBNQyBncm91cCAtIGxhY3BfbWNfZ3JwX2NvbmY6DQo+ID4gMS4gcnRlX2Zsb3cuDQo+ID4g Mi4gZmxvdyBkaXJlY3Rvci4NCj4gPiAzLiBhZGRfbWFjLg0KPiA+IDMuIHNldF9tY19hZGRfbGlz dA0KPiA+IDQuIGFsbG11bHRpDQo+ID4gNS4gcHJvbWlzY3VvdXMNCj4gPiBNYXliZSBtb3JlLi4u IG9yIGxlc3MgOikNCj4gPg0KPiA+IEJ5IHRoaXMgd2F5IHRoZSB1c2VyIGRlY2lkZXMgaG93IHRv IGRvIGl0LCBpZiBpdCdzIGZhaWwgZm9yIGEgc2xhdmUsIHRoZSBzYWx2ZQ0KPiBzaG91bGQgYmUg cmVqZWN0ZWQuDQo+ID4gQ29uZmxpY3Qgd2l0aCBhbm90aGVyIGNvbmZpZ3VyYXRpb24oZm9yIGV4 YW1wbGUgY2FsbGluZyB0byBwcm9taXNjdW91cw0KPiBkaXNhYmxlIHdoaWxlIHJ1bm5pbmcgTEFD UCBsYWNwX21jX2dycF9jb25mPTUpIHNob3VsZCByYWlzZSBhbiBlcnJvci4NCj4gPg0KPiA+IFdo YXQgZG8geW91IHRoaW5rPw0KPiA+DQo+IA0KPiBTdXBwb3J0aW5nIGFuIExBQ1AgbWMgZ3JvdXAg c3BlY2lmaWMgY29uZmlndXJhdGlvbiBkb2VzIG1ha2Ugc2Vuc2UsIGJ1dA0KPiBJIHdvbmRlciBp ZiB0aGlzIGNvdWxkIGp1c3QgYmUgaGFuZGxlZCBieSBkZWZhdWx0IGR1cmluZyBzbGF2ZSBhZGQu DQo+IA0KPiANCj4gMSBhbmQgMiBhcmUgZXNzZW50aWFsbHkgdGhlIHNhbWUgaGFyZHdhcmUgZmls dGVyaW5nIG9mZmxvYWQgbW9kZSwgYW5kDQo+IHRoZSBvdGhlciBtb2RlcyBhcmUgaXJyZWxldmFu dCBpZiB0aGlzIGlzIGVuYWJsZWQsIGl0IHNob3VsZCBub3QgYmUNCj4gcG9zc2libGUgdG8gYWRk IHRoZSBzbGF2ZSBpZiB0aGUgYm9uZCBpcyBjb25maWd1cmVkIGZvciB0aGlzIG1vZGUsIG9yDQo+ IHBvc3NpYmxlIHRvIGNoYW5nZSB0aGUgYm9uZCBpbnRvIHRoaXMgbW9kZSBpZiBhbiBleGlzdGlu ZyBzbGF2ZSBkb2Vzbid0DQo+IHN1cHBvcnQgaXQuDQoNCj4gDQo+IDMgc2hvdWxkIGJlIHRoZSBk ZWZhdWx0IGV4cGVjdGVkIGJlaGF2aW9yLCBidXQgcnRlX2V0aF9ib25kX3NsYXZlX2FkZCgpDQo+ IHNob3VsZCBmYWlsIGlmIHRoZSBzbGF2ZSBiZWluZyBhZGRlZCBkb2Vzbid0IHN1cHBvcnQgZWl0 aGVyIGFkZGluZyB0aGUNCj4gTUFDIHRvIHRoZSBzbGF2ZSBvciBhZGRpbmcgdGhlIExBQ1AgTUMg YWRkcmVzcy4NCj4gDQo+IFRoZW4gdGhlIHVzZXIgY291bGQgdHJ5IGVpdGhlciBydGVfZXRoX2Fs bG11bHRpY2FzdF9lbmFibGUoKSBvbiB0aGUgYm9uZA0KPiBwb3J0IGFuZCB0aGVuIHRyeSB0byBh ZGQgdGhlIHNsYXZlIGFnYWluLCB3aGljaCBzaG91bGQgZmFpbCBpZiBleGlzdGluZw0KPiBzbGF2 ZSBkaWRuJ3Qgc3VwcG9ydCBhbGxtdWx0aWNhc3Qgb3IgdGhlIGFkZCBzbGF2ZSB3b3VsZCBmYWls IGFnYWluIGlmDQo+IHRoZSBzbGF2ZSBkaWRuJ3Qgc3VwcG9ydCBhbGxtdWx0aWNhc3QgIGFuZCBm aW5hbGx5IGp1c3QgY2FsbA0KPiBydGVfZXRoX3Byb21pc2N1b3VzX2VuYWJsZSgpIG9uIHRoZSBi b25kIGFuZCB0aGVuIHRyeSB0byByZS1hZGQgdGhlIHRoYXQNCj4gc2xhdmUuDQo+IA0KPiBidXQg bWF5YmUgaGF2aW5nIGEgZXhwbGljaXQgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXIgd291bGQgYmUg YmV0dGVyLg0KDQpJIGRvbid0IHN1cmUgeW91IHVuZGVyc3RhbmQgZXhhY3RseSB3aGF0IEnigJlt IHN1Z2dlc3RpbmcgaGVyZSwgYWdhaW46DQpJIHN1Z2dlc3QgdG8gYWRkIGEgbmV3IHBhcmFtZXRl ciB0byB0aGUgTEFDUCBtb2RlIGNhbGxlZCBsYWNwX21jX2dycF9jb25mKG9yIHNvbWV0aGluZyBl bHNlKS4NClNvLCB3aGVuIHRoZSB1c2VyIGNvbmZpZ3VyZXMgTEFDUCAobW9kZSA0KSBpdCBtdXN0 IHRvIGNvbmZpZ3VyZSB0aGUgbGFjcF9tY19ncnBfY29uZiBwYXJhbWV0ZXINCnRvIG9uZSBvZiB0 aGUgb3B0aW9ucyBJIHN1Z2dlc3RlZC4NClRoaXMgcGFyYW1ldGVyIGlzIG5vdCBwZXIgc2xhdmUg bWVhbnMgdGhlIGJvbmQgUE1EIHdpbGwgdXNlIHRoZSBzZWxlY3RlZCBvcHRpb24gdG8gY29uZmln dXJlIHRoZSBMQUNQIE1DDQpncm91cCBmb3IgYWxsIHRoZSBzbGF2ZSBwb3J0cy4NCg0KSWYgb25l IG9mIHRoZSBzbGF2ZXMgZG9lc24ndCBzdXBwb3J0IHRoZSBzZWxlY3RlZCBvcHRpb24gaXQgc2hv dWxkIGJlIHJlamVjdGVkLg0KQ29uZmxpY3RzIHNob3VsZCByYWlzIGFuIGVycm9yLg0KDQpUaGUg YWR2YW50YWdlcyBhcmU6DQpUaGUgdXNlciBrbm93cyB3aGljaCBvcHRpb24gaXMgYmV0dGVyIHRv IHN5bmNocm9uaXplIHdpdGggaGlzIGFwcGxpY2F0aW9uLg0KVGhlIHVzZXIga25vd3MgYmV0dGVy IHRoYW4gdGhlIGJvbmQgUE1EIHdoYXQgaXMgdGhlIHNsYXZlcyBjYXBhYmlsaXRpZXMuDQpBbGwg dGhlIHNsYXZlcyBhcmUgY29uZmlndXJlZCBieSB0aGUgc2FtZSB3YXkgLSBjb25zaXN0ZW50IHRy YWZmaWMuDQoNCg0K