From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from inmumg02.tcs.com (Inmumg02.tcs.com [219.64.33.222]) by dpdk.org (Postfix) with ESMTP id 63EDA95CB for ; Wed, 27 Jan 2016 17:22:41 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2CwBAAt7qhW/2AKEaxegm6BHm2IV6oKiR8kgjuCZkoCHIFtEQEBAQEBAQGBCoRBAQEBBBoBCARSDAQLDQQDAQEBIQECBAMCAgJECQgGCwiIKa4DAQEBZY8qAQEBAQEBAQEBAQEBAQEBAQEBAQEBFYYLgzx6hBouCQEHBQEJgkorgQ8Fh1JahWuIV2iEX4VQhBAWNIN4iFSFboR+g1E2gi4ZG4E8YgGIQwEBAQ X-IPAS-Result: A2CwBAAt7qhW/2AKEaxegm6BHm2IV6oKiR8kgjuCZkoCHIFtEQEBAQEBAQGBCoRBAQEBBBoBCARSDAQLDQQDAQEBIQECBAMCAgJECQgGCwiIKa4DAQEBZY8qAQEBAQEBAQEBAQEBAQEBAQEBAQEBFYYLgzx6hBouCQEHBQEJgkorgQ8Fh1JahWuIV2iEX4VQhBAWNIN4iFSFboR+g1E2gi4ZG4E8YgGIQwEBAQ X-IronPort-AV: E=Sophos;i="5.22,355,1449513000"; d="scan'208";a="28791449" X-DISCLAIMER: FALSE In-Reply-To: References: <738D45BC1F695740A983F43CFE1B7EA943921E56@IRSMSX108.ger.corp.intel.com> To: "Czesnowicz, Przemyslaw" MIME-Version: 1.0 X-KeepSent: 04C25DE6:B8C12521-65257F47:0057574F; type=4; name=$KeepSent Message-ID: From: Abhijeet Karve Date: Wed, 27 Jan 2016 21:52:31 +0530 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Cc: "dev@dpdk.org" , "discuss@openvswitch.org" Subject: Re: [dpdk-dev] DPDK OVS on Ubuntu 14.04# Issue's Resolved# Inter-VM communication & IP allocation through DHCP issue X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Jan 2016 16:22:42 -0000 SGkgUHJ6ZW1laywNCg0KVGhhbmtzIGZvciB0aGUgcXVpY2sgcmVzcG9uc2UuIE5vdyAgYWJsZSB0 byBnZXQgdGhlIERIQ1AgaXAncyBmb3IgMiANCnZob3N0dXNlciBpbnN0YW5jZXMgYW5kIGFibGUg dG8gcGluZyBlYWNoIG90aGVyLiBJc3NzdWUgd2FzIGEgYnVnIGluIA0KY2lycm9zIDAuMy4wIGlt YWdlcyB3aGljaCB3ZSB3ZXJlIHVzaW5nIGluIG9wZW5zdGFjayBhZnRlciB1c2luZyAwLjMuMSAN CmltYWdlIGFzIGdpdmVuIGluIHRoZSBVUkwoDQpodHRwczovL3d3dy5yZWRoYXQuY29tL2FyY2hp dmVzL3Job3MtbGlzdC8yMDEzLUF1Z3VzdC9tc2cwMDAzMi5odG1sKSwgYWJsZSANCnRvIGdldCB0 aGUgSVAncyBpbiB2aG9zdHVzZXIgVk0gaW5zdGFuY2VzLg0KDQpBcyBwZXIgb3VyIHVuZGVyc3Rh bmRpbmcsIFBhY2tldCBmbG93IGFjcm9zcyBEUERLIGRhdGFwYXRoIHdpbGwgYmUgbGlrZSANCnZo b3N0dXNlciBwb3J0cyBhcmUgY29ubmVjdGVkIHRvIHRoZSBici1pbnQgYnJpZGdlICYgc2FtZSBp cyBiZWluZyBwYXRjaGVkIA0KdG8gdGhlIGJyLWRwZGsgYnJpZGdlIHdoZXJlIGluIG91ciBwaHlz aWNhbCBuZXR3b3JrIChOSUMpIGlzIGNvbm5lY3RlZCANCndpdGggZHBkazAgcG9ydC4gDQoNClNv IGZvciB0ZXN0aW5nIHRoZSBmbG93IHdlIGhhdmUgdG8gY29ubmVjdCB0aGF0IHBoeXNpY2FsIG5l dHdvcmsoTklDKSB3aXRoIA0KZXh0ZXJuYWwgcGFja2V0IGdlbmVyYXRvciAoZS5nIC0gaXhpYSwg aXBlcmYpICYgcnVuIHRoZSB0ZXN0cG1kIA0KYXBwbGljYXRpb24gaW4gdGhlIHZob3N0dXNlciBW TSwgcmlnaHQ/DQoNCkRvZXMgaXQgcmVxdWlyZWQgdG8gYWRkIGFueSBmbG93cy9lZmZvcnRzIGlu IGJyaWRnZSBjb25maWd1cmF0aW9ucyhlaXRoZXIgDQpici1pbnQgb3IgYnItZHBkayk/DQoNCg0K VGhhbmtzICYgUmVnYXJkcw0KQWJoaWplZXQgS2FydmUNCg0KDQoNCg0KRnJvbTogICAiQ3plc25v d2ljeiwgUHJ6ZW15c2xhdyIgPHByemVteXNsYXcuY3plc25vd2ljekBpbnRlbC5jb20+DQpUbzog ICAgIEFiaGlqZWV0IEthcnZlIDxhYmhpamVldC5rYXJ2ZUB0Y3MuY29tPg0KQ2M6ICAgICAiZGV2 QGRwZGsub3JnIiA8ZGV2QGRwZGsub3JnPiwgImRpc2N1c3NAb3BlbnZzd2l0Y2gub3JnIiANCjxk aXNjdXNzQG9wZW52c3dpdGNoLm9yZz4sICJHcmF5LCBNYXJrIEQiIDxtYXJrLmQuZ3JheUBpbnRl bC5jb20+DQpEYXRlOiAgIDAxLzI3LzIwMTYgMDU6MTEgUE0NClN1YmplY3Q6ICAgICAgICBSRTog W2RwZGstZGV2XSBEUERLIE9WUyBvbiBVYnVudHUgMTQuMDQjIElzc3VlJ3MgUmVzb2x2ZWQjIA0K SW50ZXItVk0gY29tbXVuaWNhdGlvbiAmIElQIGFsbG9jYXRpb24gdGhyb3VnaCBESENQIGlzc3Vl DQoNCg0KDQpIaSBBYmhpamVldCwNCiANCiANCkl0IHNlZW1zIHlvdSBhcmUgYWxtb3N0IHRoZXJl ISANCldoZW4gYm9vdGluZyB0aGUgVk3igJlzIGRvIHlvdSByZXF1ZXN0IGh1Z2VwYWdlIG1lbW9y eSBmb3IgdGhlbSAoYnkgc2V0dGluZyANCmh3Om1lbV9wYWdlX3NpemU9bGFyZ2UgaW4gZmxhdm9y IGV4dHJhX3NwZWMpPw0KSWYgbm90IHRoZW4gcGxlYXNlIGRvLCBpZiB5ZXMgdGhlbiBwbGVhc2Ug bG9vayBpbnRvIGxpYnZpcnQgbG9nZmlsZXMgZm9yIA0KdGhlIFZN4oCZcyAoaW4gL3Zhci9sb2cv bGlidmlydC9xZW11L2luc3RhbmNlLXh4eCksIEkgdGhpbmsgdGhlcmUgY291bGQgYmUgYSANCmNs dWUuDQogDQogDQpSZWdhcmRzDQpQcnplbWVrDQogDQpGcm9tOiBBYmhpamVldCBLYXJ2ZSBbbWFp bHRvOmFiaGlqZWV0LmthcnZlQHRjcy5jb21dIA0KU2VudDogTW9uZGF5LCBKYW51YXJ5IDI1LCAy MDE2IDY6MTMgUE0NClRvOiBDemVzbm93aWN6LCBQcnplbXlzbGF3DQpDYzogZGV2QGRwZGsub3Jn OyBkaXNjdXNzQG9wZW52c3dpdGNoLm9yZzsgR3JheSwgTWFyayBEDQpTdWJqZWN0OiBSRTogW2Rw ZGstZGV2XSBEUERLIE9WUyBvbiBVYnVudHUgMTQuMDQjIElzc3VlJ3MgUmVzb2x2ZWQjIA0KSW50 ZXItVk0gY29tbXVuaWNhdGlvbiAmIElQIGFsbG9jYXRpb24gdGhyb3VnaCBESENQIGlzc3VlDQog DQpIaSBQcnplbWVrLCANCg0KVGhhbmsgeW91IGZvciB5b3VyIHJlc3BvbnNlLCBJdCByZWFsbHkg cHJvdmlkZWQgdXMgYnJlYWt0aHJvdWdoLiANCg0KQWZ0ZXIgc2V0dGluZyB1cCBEUERLIG9uIGNv bXB1dGUgbm9kZSBmb3Igc3RhYmxlL2tpbG8sIFdlIGFyZSB0cnlpbmcgdG8gDQpzZXQgdXAgT3Bl bnN0YWNrIHN0YWJsZS9saWJlcnR5IGFsbC1pbi1vbmUgc2V0dXAsIEF0IHByZXNlbnQgd2UgYXJl IG5vdCANCmFibGUgdG8gZ2V0IHRoZSBJUCBhbGxvY2F0aW9uIGZvciB0aGUgdmhvc3QgdHlwZSBp bnN0YW5jZXMgdGhyb3VnaCBESENQLiANCkFsc28gd2UgdHJpZWQgYXNzaWduaW5nIElQJ3MgbWFu dWFsbHkgdG8gdGhlbSBidXQgdGhlIGludGVyLVZNIA0KY29tbXVuaWNhdGlvbiBhbHNvIG5vdCBo YXBwZW5pbmcsIA0KDQojbmV1dHJvbiBhZ2VudC1saXN0IA0Kcm9vdEBuZnYtZHBkay1kZXZzdGFj azovZXRjL25ldXRyb24jIG5ldXRyb24gYWdlbnQtbGlzdCANCistLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r IA0KDQp8IGlkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFnZW50X3R5cGUg ICAgICAgICB8IGhvc3QgICAgICB8IA0KYWxpdmUgfCBhZG1pbl9zdGF0ZV91cCB8IGJpbmFyeSAg ICAgICAgICAgICAgICAgICAgfCANCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rIA0KDQp8IDNiMjllOTNj LTNhMjUtNGY3ZC1iZjZjLTZiYjMwOWRiNWVjMCB8IERQREsgT1ZTIEFnZW50ICAgICB8IA0KbmZ2 LWRwZGstZGV2c3RhY2sgfCA6LSkgICB8IFRydWUgICAgICAgICAgIHwgbmV1dHJvbi1vcGVudnN3 aXRjaC1hZ2VudCB8IA0KfCA2MjU5M2IyYy1jMTBmLTRkOTMtODU1MS1jNDZjZTI0ODk1YTYgfCBM MyBhZ2VudCAgICAgICAgICAgfCANCm5mdi1kcGRrLWRldnN0YWNrIHwgOi0pICAgfCBUcnVlICAg ICAgICAgICB8IG5ldXRyb24tbDMtYWdlbnQgICAgICAgICAgfCANCnwgN2NiOTdhZjktY2MyMC00 MWY4LTkwZmItYWJhOTdkMzlkZmJkIHwgREhDUCBhZ2VudCAgICAgICAgIHwgDQpuZnYtZHBkay1k ZXZzdGFjayB8IDotKSAgIHwgVHJ1ZSAgICAgICAgICAgfCBuZXV0cm9uLWRoY3AtYWdlbnQgICAg ICAgIHwgDQp8IGI2MTNjNjU0LTk5YjctNDM3ZS05MzE3LTIwZmE2NTFhMTMxMCB8IExpbnV4IGJy aWRnZSBhZ2VudCB8IA0KbmZ2LWRwZGstZGV2c3RhY2sgfCA6LSkgICB8IFRydWUgICAgICAgICAg IHwgbmV1dHJvbi1saW51eGJyaWRnZS1hZ2VudCB8IA0KfCBjMmRkMDM4NC02NTE3LTRiNDQtOWMy NS0wZDI4MjVkMjNmNTcgfCBNZXRhZGF0YSBhZ2VudCAgICAgfCANCm5mdi1kcGRrLWRldnN0YWNr IHwgOi0pICAgfCBUcnVlICAgICAgICAgICB8IG5ldXRyb24tbWV0YWRhdGEtYWdlbnQgICAgfCAN CnwgZjIzZGRlNDAtN2RjMC00ZjIwLThiM2UtZWI5MGRkYjE1ZTQ5IHwgT3BlbiB2U3dpdGNoIGFn ZW50IHwgDQpuZnYtZHBkay1kZXZzdGFjayB8IHh4eCAgIHwgVHJ1ZSAgICAgICAgICAgfCBuZXV0 cm9uLW9wZW52c3dpdGNoLWFnZW50IHwgDQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyANCg0KDQoNCm92 cy12c2N0bCBzaG93IG91dHB1dCMgDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSANCkJyaWRnZSBici1kcGRrIA0KICAgICAgICBQb3J0IGJy LWRwZGsgDQogICAgICAgICAgICBJbnRlcmZhY2UgYnItZHBkayANCiAgICAgICAgICAgICAgICB0 eXBlOiBpbnRlcm5hbCANCiAgICAgICAgUG9ydCBwaHktYnItZHBkayANCiAgICAgICAgICAgIElu dGVyZmFjZSBwaHktYnItZHBkayANCiAgICAgICAgICAgICAgICB0eXBlOiBwYXRjaCANCiAgICAg ICAgICAgICAgICBvcHRpb25zOiB7cGVlcj1pbnQtYnItZHBka30gDQogICAgQnJpZGdlIGJyLWlu dCANCiAgICAgICAgZmFpbF9tb2RlOiBzZWN1cmUgDQogICAgICAgIFBvcnQgInZodWZhNDFlNzk5 LWYyIiANCiAgICAgICAgICAgIHRhZzogNSANCiAgICAgICAgICAgIEludGVyZmFjZSAidmh1ZmE0 MWU3OTktZjIiIA0KICAgICAgICAgICAgICAgIHR5cGU6IGRwZGt2aG9zdHVzZXIgDQogICAgICAg IFBvcnQgaW50LWJyLWRwZGsgDQogICAgICAgICAgICBJbnRlcmZhY2UgaW50LWJyLWRwZGsgDQog ICAgICAgICAgICAgICAgdHlwZTogcGF0Y2ggDQogICAgICAgICAgICAgICAgb3B0aW9uczoge3Bl ZXI9cGh5LWJyLWRwZGt9IA0KICAgICAgICBQb3J0ICJ0YXA0ZTE5ZjhlMS01OSIgDQogICAgICAg ICAgICB0YWc6IDUgDQogICAgICAgICAgICBJbnRlcmZhY2UgInRhcDRlMTlmOGUxLTU5IiANCiAg ICAgICAgICAgICAgICB0eXBlOiBpbnRlcm5hbCANCiAgICAgICAgUG9ydCAidmh1MDU3MzRjNDkt M2IiIA0KICAgICAgICAgICAgdGFnOiA1IA0KICAgICAgICAgICAgSW50ZXJmYWNlICJ2aHUwNTcz NGM0OS0zYiIgDQogICAgICAgICAgICAgICAgdHlwZTogZHBka3Zob3N0dXNlciANCiAgICAgICAg UG9ydCAidmh1MTBjMDZiNGQtODQiIA0KICAgICAgICAgICAgdGFnOiA1IA0KICAgICAgICAgICAg SW50ZXJmYWNlICJ2aHUxMGMwNmI0ZC04NCIgDQogICAgICAgICAgICAgICAgdHlwZTogZHBka3Zo b3N0dXNlciANCiAgICAgICAgUG9ydCBwYXRjaC10dW4gDQogICAgICAgICAgICBJbnRlcmZhY2Ug cGF0Y2gtdHVuIA0KICAgICAgICAgICAgICAgIHR5cGU6IHBhdGNoIA0KICAgICAgICAgICAgICAg IG9wdGlvbnM6IHtwZWVyPXBhdGNoLWludH0gDQogICAgICAgIFBvcnQgInZodWUxNjljNTgxLWVm IiANCiAgICAgICAgICAgIHRhZzogNSANCiAgICAgICAgICAgIEludGVyZmFjZSAidmh1ZTE2OWM1 ODEtZWYiIA0KICAgICAgICAgICAgICAgIHR5cGU6IGRwZGt2aG9zdHVzZXIgDQogICAgICAgIFBv cnQgYnItaW50IA0KICAgICAgICAgICAgSW50ZXJmYWNlIGJyLWludCANCiAgICAgICAgICAgICAg ICB0eXBlOiBpbnRlcm5hbCANCiAgICBCcmlkZ2UgYnItdHVuIA0KICAgICAgICBmYWlsX21vZGU6 IHNlY3VyZSANCiAgICAgICAgUG9ydCBici10dW4gDQogICAgICAgICAgICBJbnRlcmZhY2UgYnIt dHVuIA0KICAgICAgICAgICAgICAgIHR5cGU6IGludGVybmFsIA0KICAgICAgICAgICAgICAgIGVy cm9yOiAiY291bGQgbm90IG9wZW4gbmV0d29yayBkZXZpY2UgYnItdHVuIChJbnZhbGlkIA0KYXJn dW1lbnQpIiANCiAgICAgICAgUG9ydCBwYXRjaC1pbnQgDQogICAgICAgICAgICBJbnRlcmZhY2Ug cGF0Y2gtaW50IA0KICAgICAgICAgICAgICAgIHR5cGU6IHBhdGNoIA0KICAgICAgICAgICAgICAg IG9wdGlvbnM6IHtwZWVyPXBhdGNoLXR1bn0gDQogICAgb3ZzX3ZlcnNpb246ICIyLjQuMCIgDQot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAN Cg0KDQpvdnMtb2ZjdGwgZHVtcC1mbG93cyBici1pbnQjIA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gDQpyb290QG5mdi1kcGRrLWRldnN0 YWNrOi9ldGMvbmV1dHJvbiMgb3ZzLW9mY3RsIGR1bXAtZmxvd3MgYnItaW50IA0KTlhTVF9GTE9X IHJlcGx5ICh4aWQ9MHg0KTogDQogY29va2llPTB4YWFhMDAyYmIyYmNmODI3YiwgZHVyYXRpb249 MjQxMC4wMTJzLCB0YWJsZT0wLCBuX3BhY2tldHM9MCwgDQpuX2J5dGVzPTAsIGlkbGVfYWdlPTI0 MTAsIHByaW9yaXR5PTEwLGljbXA2LGluX3BvcnQ9NDMsaWNtcF90eXBlPTEzNiANCmFjdGlvbnM9 cmVzdWJtaXQoLDI0KSANCiBjb29raWU9MHhhYWEwMDJiYjJiY2Y4MjdiLCBkdXJhdGlvbj0yNDA5 LjQ4MHMsIHRhYmxlPTAsIG5fcGFja2V0cz0wLCANCm5fYnl0ZXM9MCwgaWRsZV9hZ2U9MjQwOSwg cHJpb3JpdHk9MTAsaWNtcDYsaW5fcG9ydD00NCxpY21wX3R5cGU9MTM2IA0KYWN0aW9ucz1yZXN1 Ym1pdCgsMjQpIA0KIGNvb2tpZT0weGFhYTAwMmJiMmJjZjgyN2IsIGR1cmF0aW9uPTI0MDguNzA0 cywgdGFibGU9MCwgbl9wYWNrZXRzPTAsIA0Kbl9ieXRlcz0wLCBpZGxlX2FnZT0yNDA4LCBwcmlv cml0eT0xMCxpY21wNixpbl9wb3J0PTQ1LGljbXBfdHlwZT0xMzYgDQphY3Rpb25zPXJlc3VibWl0 KCwyNCkgDQogY29va2llPTB4YWFhMDAyYmIyYmNmODI3YiwgZHVyYXRpb249MjQwOC4xNTVzLCB0 YWJsZT0wLCBuX3BhY2tldHM9MCwgDQpuX2J5dGVzPTAsIGlkbGVfYWdlPTI0MDgsIHByaW9yaXR5 PTEwLGljbXA2LGluX3BvcnQ9NDIsaWNtcF90eXBlPTEzNiANCmFjdGlvbnM9cmVzdWJtaXQoLDI0 KSANCiBjb29raWU9MHhhYWEwMDJiYjJiY2Y4MjdiLCBkdXJhdGlvbj0yNDA5Ljg1OHMsIHRhYmxl PTAsIG5fcGFja2V0cz0wLCANCm5fYnl0ZXM9MCwgaWRsZV9hZ2U9MjQwOSwgcHJpb3JpdHk9MTAs YXJwLGluX3BvcnQ9NDMgYWN0aW9ucz1yZXN1Ym1pdCgsMjQpIA0KDQogY29va2llPTB4YWFhMDAy YmIyYmNmODI3YiwgZHVyYXRpb249MjQwOS4zMTRzLCB0YWJsZT0wLCBuX3BhY2tldHM9MCwgDQpu X2J5dGVzPTAsIGlkbGVfYWdlPTI0MDksIHByaW9yaXR5PTEwLGFycCxpbl9wb3J0PTQ0IGFjdGlv bnM9cmVzdWJtaXQoLDI0KSANCg0KIGNvb2tpZT0weGFhYTAwMmJiMmJjZjgyN2IsIGR1cmF0aW9u PTI0MDguNTY0cywgdGFibGU9MCwgbl9wYWNrZXRzPTAsIA0Kbl9ieXRlcz0wLCBpZGxlX2FnZT0y NDA4LCBwcmlvcml0eT0xMCxhcnAsaW5fcG9ydD00NSBhY3Rpb25zPXJlc3VibWl0KCwyNCkgDQoN CiBjb29raWU9MHhhYWEwMDJiYjJiY2Y4MjdiLCBkdXJhdGlvbj0yNDA4LjAxOXMsIHRhYmxlPTAs IG5fcGFja2V0cz0wLCANCm5fYnl0ZXM9MCwgaWRsZV9hZ2U9MjQwOCwgcHJpb3JpdHk9MTAsYXJw LGluX3BvcnQ9NDIgYWN0aW9ucz1yZXN1Ym1pdCgsMjQpIA0KDQogY29va2llPTB4YWFhMDAyYmIy YmNmODI3YiwgZHVyYXRpb249MjQxMS41MzhzLCB0YWJsZT0wLCBuX3BhY2tldHM9MCwgDQpuX2J5 dGVzPTAsIGlkbGVfYWdlPTI0MTEsIHByaW9yaXR5PTMsaW5fcG9ydD0xLGRsX3ZsYW49MzQ2IA0K YWN0aW9ucz1tb2Rfdmxhbl92aWQ6NSxOT1JNQUwgDQogY29va2llPTB4YWFhMDAyYmIyYmNmODI3 YiwgZHVyYXRpb249MjQxNS4wMzhzLCB0YWJsZT0wLCBuX3BhY2tldHM9MCwgDQpuX2J5dGVzPTAs IGlkbGVfYWdlPTI0MTUsIHByaW9yaXR5PTIsaW5fcG9ydD0xIGFjdGlvbnM9ZHJvcCANCiBjb29r aWU9MHhhYWEwMDJiYjJiY2Y4MjdiLCBkdXJhdGlvbj0yNDE2LjE0OHMsIHRhYmxlPTAsIG5fcGFj a2V0cz0wLCANCm5fYnl0ZXM9MCwgaWRsZV9hZ2U9MjQxNiwgcHJpb3JpdHk9MCBhY3Rpb25zPU5P Uk1BTCANCiBjb29raWU9MHhhYWEwMDJiYjJiY2Y4MjdiLCBkdXJhdGlvbj0yNDE2LjA1OXMsIHRh YmxlPTIzLCBuX3BhY2tldHM9MCwgDQpuX2J5dGVzPTAsIGlkbGVfYWdlPTI0MTYsIHByaW9yaXR5 PTAgYWN0aW9ucz1kcm9wIA0KIGNvb2tpZT0weGFhYTAwMmJiMmJjZjgyN2IsIGR1cmF0aW9uPTI0 MTAuMTAxcywgdGFibGU9MjQsIG5fcGFja2V0cz0wLCANCm5fYnl0ZXM9MCwgaWRsZV9hZ2U9MjQx MCwgDQpwcmlvcml0eT0yLGljbXA2LGluX3BvcnQ9NDMsaWNtcF90eXBlPTEzNixuZF90YXJnZXQ9 ZmU4MDo6ZjgxNjozZWZmOmZlODE6ZGE2MSANCmFjdGlvbnM9Tk9STUFMIA0KIGNvb2tpZT0weGFh YTAwMmJiMmJjZjgyN2IsIGR1cmF0aW9uPTI0MDkuNTcxcywgdGFibGU9MjQsIG5fcGFja2V0cz0w LCANCm5fYnl0ZXM9MCwgaWRsZV9hZ2U9MjQwOSwgDQpwcmlvcml0eT0yLGljbXA2LGluX3BvcnQ9 NDQsaWNtcF90eXBlPTEzNixuZF90YXJnZXQ9ZmU4MDo6ZjgxNjozZWZmOmZlNzM6MjU0IA0KYWN0 aW9ucz1OT1JNQUwgDQogY29va2llPTB4YWFhMDAyYmIyYmNmODI3YiwgZHVyYXRpb249MjQwOC43 NzVzLCB0YWJsZT0yNCwgbl9wYWNrZXRzPTAsIA0Kbl9ieXRlcz0wLCBpZGxlX2FnZT0yNDA4LCAN CnByaW9yaXR5PTIsaWNtcDYsaW5fcG9ydD00NSxpY21wX3R5cGU9MTM2LG5kX3RhcmdldD1mZTgw OjpmODE2OjNlZmY6ZmU4ODo1Y2MgDQphY3Rpb25zPU5PUk1BTCANCiBjb29raWU9MHhhYWEwMDJi YjJiY2Y4MjdiLCBkdXJhdGlvbj0yNDA4LjIzMXMsIHRhYmxlPTI0LCBuX3BhY2tldHM9MCwgDQpu X2J5dGVzPTAsIGlkbGVfYWdlPTI0MDgsIA0KcHJpb3JpdHk9MixpY21wNixpbl9wb3J0PTQyLGlj bXBfdHlwZT0xMzYsbmRfdGFyZ2V0PWZlODA6OmY4MTY6M2VmZjpmZTg2OmY1ZjcgDQphY3Rpb25z PU5PUk1BTCANCiBjb29raWU9MHhhYWEwMDJiYjJiY2Y4MjdiLCBkdXJhdGlvbj0yNDA5LjkzMHMs IHRhYmxlPTI0LCBuX3BhY2tldHM9MCwgDQpuX2J5dGVzPTAsIGlkbGVfYWdlPTI0MDksIHByaW9y aXR5PTIsYXJwLGluX3BvcnQ9NDMsYXJwX3NwYT0yMC4yMC4yMC4xNCANCmFjdGlvbnM9Tk9STUFM IA0KIGNvb2tpZT0weGFhYTAwMmJiMmJjZjgyN2IsIGR1cmF0aW9uPTI0MDkuMzg5cywgdGFibGU9 MjQsIG5fcGFja2V0cz0wLCANCm5fYnl0ZXM9MCwgaWRsZV9hZ2U9MjQwOSwgcHJpb3JpdHk9Mixh cnAsaW5fcG9ydD00NCxhcnBfc3BhPTIwLjIwLjIwLjE2IA0KYWN0aW9ucz1OT1JNQUwgDQogY29v a2llPTB4YWFhMDAyYmIyYmNmODI3YiwgZHVyYXRpb249MjQwOC42MzNzLCB0YWJsZT0yNCwgbl9w YWNrZXRzPTAsIA0Kbl9ieXRlcz0wLCBpZGxlX2FnZT0yNDA4LCBwcmlvcml0eT0yLGFycCxpbl9w b3J0PTQ1LGFycF9zcGE9MjAuMjAuMjAuMTcgDQphY3Rpb25zPU5PUk1BTCANCiBjb29raWU9MHhh YWEwMDJiYjJiY2Y4MjdiLCBkdXJhdGlvbj0yNDA4LjA4NXMsIHRhYmxlPTI0LCBuX3BhY2tldHM9 MCwgDQpuX2J5dGVzPTAsIGlkbGVfYWdlPTI0MDgsIHByaW9yaXR5PTIsYXJwLGluX3BvcnQ9NDIs YXJwX3NwYT0yMC4yMC4yMC4xMyANCmFjdGlvbnM9Tk9STUFMIA0KIGNvb2tpZT0weGFhYTAwMmJi MmJjZjgyN2IsIGR1cmF0aW9uPTI0MTUuOTc0cywgdGFibGU9MjQsIG5fcGFja2V0cz0wLCANCm5f Ynl0ZXM9MCwgaWRsZV9hZ2U9MjQxNSwgcHJpb3JpdHk9MCBhY3Rpb25zPWRyb3AgDQpyb290QG5m di1kcGRrLWRldnN0YWNrOi9ldGMvbmV1dHJvbiMgDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSANCg0KDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgDQoNCg0KQWxzbyBhdHRhY2hpbmcgTmV1dHJvbi1z ZXJ2ZXIsIG5vdmEtY29tcHV0ZSAmIG5vdmEtc2NoZWR1bGVyIGxvZ3MuIA0KDQpJdCB3aWxsIGJl IHJlYWxseSBncmVhdCBmb3IgdXMgaWYgZ2V0IGFueSBoaW50IHRvIG92ZXJjb21lIG91dCBvZiB0 aGlzIA0KSW50ZXItVk0gJiBESENQIGNvbW11bmljYXRpb24gaXNzdWUsIA0KDQoNCg0KDQpUaGFu a3MgJiBSZWdhcmRzDQpBYmhpamVldCBLYXJ2ZQ0KDQoNCg0KRnJvbTogICAgICAgICJDemVzbm93 aWN6LCBQcnplbXlzbGF3IiA8cHJ6ZW15c2xhdy5jemVzbm93aWN6QGludGVsLmNvbT4gDQpUbzog ICAgICAgIEFiaGlqZWV0IEthcnZlIDxhYmhpamVldC5rYXJ2ZUB0Y3MuY29tPiANCkNjOiAgICAg ICAgImRldkBkcGRrLm9yZyIgPGRldkBkcGRrLm9yZz4sICJkaXNjdXNzQG9wZW52c3dpdGNoLm9y ZyIgPA0KZGlzY3Vzc0BvcGVudnN3aXRjaC5vcmc+LCAiR3JheSwgTWFyayBEIiA8bWFyay5kLmdy YXlAaW50ZWwuY29tPiANCkRhdGU6ICAgICAgICAwMS8wNC8yMDE2IDA3OjU0IFBNIA0KU3ViamVj dDogICAgICAgIFJFOiBbZHBkay1kZXZdIERQREsgT1ZTIG9uIFVidW50dSAxNC4wNCMgSXNzdWUn cyBSZXNvbHZlZCMgDQpHZXR0aW5nIG1lbW9yeSBiYWNraW5nIGlzc3VlcyB3aXRoIHFlbXUgcGFy YW1ldGVyIHBhc3NpbmcgDQoNCg0KDQoNCllvdSBzaG91bGQgYmUgYWJsZSB0byBjbG9uZSBuZXR3 b3JraW5nLW92cy1kcGRrLCBzd2l0Y2ggdG8ga2lsbyBicmFuY2gsIA0KYW5kIHJ1biANCnB5dGhv biBzZXR1cC5weSBpbnN0YWxsIA0KaW4gdGhlIHJvb3Qgb2YgbmV0d29ya2luZy1vdnMtZHBkaywg dGhhdCBzaG91bGQgaW5zdGFsbCBhZ2VudCBhbmQgbWVjaCANCmRyaXZlci4gDQpUaGVuIHlvdSB3 b3VsZCBuZWVkIHRvIGVuYWJsZSBtZWNoIGRyaXZlciAob3ZzZHBkaykgb24gdGhlIGNvbnRyb2xs ZXIgaW4gDQp0aGUgL2V0Yy9uZXV0cm9uL3BsdWdpbnMvbWwyL21sMl9jb25mLmluaSANCkFuZCBy dW4gdGhlIHJpZ2h0IGFnZW50IG9uIHRoZSBjb21wdXRlcyAobmV0d29ya2luZy1vdnMtZHBkay1h Z2VudCkuIA0KICANCiAgDQpUaGVyZSBzaG91bGQgYmUgcGlwIHBhY2tlZ2VzIG9mIG5ldHdvcmtp bmctb3ZzLWRwZGsgYXZhaWxhYmxlIHNob3J0bHksIA0KSeKAmWxsIGxldCB5b3Uga25vdyB3aGVu IHRoYXQgaGFwcGVucy4gDQogIA0KUHJ6ZW1layANCiAgDQpGcm9tOiBBYmhpamVldCBLYXJ2ZSBb bWFpbHRvOmFiaGlqZWV0LmthcnZlQHRjcy5jb21dIA0KU2VudDogVGh1cnNkYXksIERlY2VtYmVy IDI0LCAyMDE1IDY6NDIgUE0NClRvOiBDemVzbm93aWN6LCBQcnplbXlzbGF3DQpDYzogZGV2QGRw ZGsub3JnOyBkaXNjdXNzQG9wZW52c3dpdGNoLm9yZzsgR3JheSwgTWFyayBEDQpTdWJqZWN0OiBS RTogW2RwZGstZGV2XSBEUERLIE9WUyBvbiBVYnVudHUgMTQuMDQjIElzc3VlJ3MgUmVzb2x2ZWQj IA0KR2V0dGluZyBtZW1vcnkgYmFja2luZyBpc3N1ZXMgd2l0aCBxZW11IHBhcmFtZXRlciBwYXNz aW5nIA0KICANCkhpIFByemVtZWssIA0KDQpUaGFuayB5b3Ugc28gbXVjaCBmb3IgeW91ciBxdWlj ayByZXNwb25zZS4gDQoNClRoZSBndWlkZSgNCmh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3RhY2sv bmV0d29ya2luZy1vdnMtZHBkay9ibG9iL3N0YWJsZS9raWxvL2RvYy9zb3VyY2UvZ2V0c3RhcnRl ZC91YnVudHUucnN0DQopIHdoaWNoIHlvdSBoYXZlIHN1Z2dlc3RlZCB0aGF0IGlzIGZvciBvcGVu c3RhY2sgdmhvc3QgdXNlciBpbnN0YWxsYXRpb25zIA0Kd2l0aCBkZXZzdGFjay4gDQpDYW4ndCB3 ZSBoYXZlIGFueSByZWZlcmVuY2UgZm9yIGluY2x1ZGluZyBvdnMtZHBkayBtZWNoYW5pc2FtIGRy aXZlciBmb3IgDQpvcGVuc3RhY2sgVWJ1bnR1IGRpc3RyaWJ1dGlvbiB3aGljaCB3ZSBhcmUgZm9s bG93aW5nIGZvciANCmNvbXB1dGUrY29udHJvbGxlciBub2RlIHNldHVwPyIgDQoNCldlIGFyZSBm YWNpbmcgYmVsb3cgbGlzdGVkIGlzc3VlcyBXaXRoIHRoZSBjdXJyZW50IGFwcHJvYWNoIG9mIHNl dHRpbmcgdXAgDQpvcGVuc3RhY2sga2lsbyBpbnRlcmFjdGl2ZWx5ICsgcmVwbGFjaW5nIG92cyB3 aXRoIG92cy1kcGRrIGVuYWJsZWQgYW5kIA0KSW5zdGFuY2UgY3JlYXRpb24gaW4gb3BlbnN0YWNr IHdpdGggDQpwYXNzaW5nIHRoYXQgaW5zdGFuY2UgaWQgdG8gUUVNVSBjb21tYW5kIGxpbmUgd2hp Y2ggZnVydGhlciBwYXNzZXMgdGhlIA0Kdmhvc3QtdXNlciBzb2NrZXRzIHRvIGluc3RhbmNlcyBm b3IgZW5hYmxpbmcgdGhlIERQREsgbGlicmFyaWVzIGluIGl0LiANCg0KDQoxLiBDcmVhdGVkIGEg Zmxhdm9yIG0xLmh1Z2VwYWdlcyB3aGljaCBpcyBiYWNrZWQgYnkgaHVnZXBhZ2UgbWVtb3J5LCAN CnVuYWJsZSB0byBzcGF3biBpbnN0YW5jZSB3aXRoIHRoaXMgZmxhdm9yIOKAkyBHZXR0aW5nIGEg aXNzdWUgbGlrZTogTm8gDQptYXRjaGluZyBodWdldGxiZnMgZm9yIHRoZSBudW1iZXIgb2YgaHVn ZXBhZ2VzIGFzc2lnbmVkIHRvIHRoZSBmbGF2b3IuIA0KMi4gUGFzc2luZyBzb2NrZXQgaW5mbyB0 byBpbnN0YW5jZXMgdmlhIHFlbXUgbWFudWFsbHkgYW5kIGluc3RuYWNlcyANCmNyZWF0ZWQgYXJl IG5vdCBwZXJzaXN0ZW50LiANCg0KTm93IGFzIHlvdSBzdWdnZXN0ZWQsIHdlIGFyZSBsb29raW5n IGluIGVuYWJsaW5nIG92c2RwZGsgbWwyIG1lY2hhbmlzbSANCmRyaXZlciBhbmQgYWdlbnQgYWxs IG9mIHRoYXQgaW4gb3VyIG9wZW5zdGFjayB1YnVudHUgZGlzdHJpYnV0aW9uLiANCg0KV291bGQg YmUgcmVhbGx5IGFwcHJpY2lhdGUgaWYgZ2V0IGFueSBoZWxwIG9yIHJlZiB3aXRoIGV4cGxhbmF0 aW9uLiANCg0KV2UgYXJlIHVzaW5nIGNvbXB1dGUgKyBjb250cm9sbGVyIG5vZGUgc2V0dXAgYW5k IHdlIGFyZSB1c2luZyBmb2xsb3dpbmcgDQpzb2Z0d2FyZSBwbGF0Zm9ybSBvbiBjb21wdXRlIG5v ZGU6IA0KX19fX19fX19fX19fXyANCk9wZW5zdGFjazogS2lsbyANCkRpc3RyaWJ1dGlvbjogVWJ1 bnR1IDE0LjA0IA0KT1ZTIFZlcnNpb246IDIuNC4wIA0KRFBESyAyLjAuMCANCl9fX19fX19fX19f X18gDQoNClRoYW5rcywgDQpBYmhpamVldCBLYXJ2ZSANCg0KDQoNCg0KDQpGcm9tOiAgICAgICAg IkN6ZXNub3dpY3osIFByemVteXNsYXciIDxwcnplbXlzbGF3LmN6ZXNub3dpY3pAaW50ZWwuY29t PiANClRvOiAgICAgICAgQWJoaWplZXQgS2FydmUgPGFiaGlqZWV0LmthcnZlQHRjcy5jb20+IA0K Q2M6ICAgICAgICAiZGV2QGRwZGsub3JnIiA8ZGV2QGRwZGsub3JnPiwgImRpc2N1c3NAb3BlbnZz d2l0Y2gub3JnIiA8DQpkaXNjdXNzQG9wZW52c3dpdGNoLm9yZz4sICJHcmF5LCBNYXJrIEQiIDxt YXJrLmQuZ3JheUBpbnRlbC5jb20+IA0KRGF0ZTogICAgICAgIDEyLzE3LzIwMTUgMDY6MzIgUE0g DQpTdWJqZWN0OiAgICAgICAgUkU6IFtkcGRrLWRldl0gRFBESyBPVlMgb24gVWJ1bnR1IDE0LjA0 IyBJc3N1ZSdzIFJlc29sdmVkIyANClN1Y2Nlc3NmdWxseSBzZXR1cCBEUERLIE9WUyB3aXRoIHZo b3N0dXNlciANCg0KDQoNCg0KDQpJIGhhdmVu4oCZdCB0cmllZCB0aGF0IGFwcHJvYWNoIG5vdCBz dXJlIGlmIHRoYXQgd291bGQgd29yaywgaXQgc2VlbXMgDQpjbHVua3kuIA0KIA0KSWYgeW91IGVu YWJsZSBvdnNkcGRrIG1sMiBtZWNoYW5pc20gZHJpdmVyIGFuZCBhZ2VudCBhbGwgb2YgdGhhdCAo YWRkIA0KcG9ydHMgdG8gb3ZzIHdpdGggdGhlIHJpZ2h0IHR5cGUsIHBhc3MgdGhlIHNvY2tldHMg dG8gcWVtdSkgd291bGQgYmUgZG9uZSANCmJ5IE9wZW5TdGFjay4gDQogDQpQcnplbWVrIA0KIA0K RnJvbTogQWJoaWplZXQgS2FydmUgW21haWx0bzphYmhpamVldC5rYXJ2ZUB0Y3MuY29tXSANClNl bnQ6IFRodXJzZGF5LCBEZWNlbWJlciAxNywgMjAxNSAxMjo0MSBQTQ0KVG86IEN6ZXNub3dpY3os IFByemVteXNsYXcNCkNjOiBkZXZAZHBkay5vcmc7IGRpc2N1c3NAb3BlbnZzd2l0Y2gub3JnOyBH cmF5LCBNYXJrIEQNClN1YmplY3Q6IFJFOiBbZHBkay1kZXZdIERQREsgT1ZTIG9uIFVidW50dSAx NC4wNCMgSXNzdWUncyBSZXNvbHZlZCMgDQpTdWNjZXNzZnVsbHkgc2V0dXAgRFBESyBPVlMgd2l0 aCB2aG9zdHVzZXIgDQogDQpIaSBQcnplbWVrLCANCg0KVGhhbmsgeW91IHNvIG11Y2ggZm9yIHNo YXJpbmcgdGhlIHJlZiBndWlkZS4gDQoNCldvdWxkIGJlIGFwcHJlY2lhdGUgaWYgY2xlYXIgb25l IGRvdWJ0LiANCg0KQXQgcHJlc2VudCB3ZSBhcmUgc2V0dGluZyB1cCBvcGVuc3RhY2sga2lsbyBp bnRlcmFjdGl2ZWx5IGFuZCBmdXJ0aGVyIA0KcmVwbGFjaW5nIG92cyB3aXRoIG92cy1kcGRrIGVu YWJsZWQuIA0KT25jZSB0aGUgYWJvdmUgc2V0dXAgZG9uZSwgV2UgYXJlIGNyZWF0aW5nIGluc3Rh bmNlIGluIG9wZW5zdGFjayBhbmQgDQpwYXNzaW5nIHRoYXQgaW5zdGFuY2UgaWQgdG8gUUVNVSBj b21tYW5kIGxpbmUgd2hpY2ggZnVydGhlciBwYXNzZXMgdGhlIA0Kdmhvc3QtdXNlciBzb2NrZXRz IHRvIGluc3RhbmNlcywgZW5hYmxpbmcgdGhlIERQREsgbGlicmFyaWVzIGluIGl0LiANCg0KSXNu J3QgdGhpcyB0aGUgY29ycmVjdCB3YXkgb2YgaW50ZWdyYXRpbmcgb3ZzLWRwZGsgd2l0aCBvcGVu c3RhY2s/IA0KDQoNClRoYW5rcyAmIFJlZ2FyZHMNCkFiaGlqZWV0IEthcnZlDQoNCg0KDQoNCkZy b206ICAgICAgICAiQ3plc25vd2ljeiwgUHJ6ZW15c2xhdyIgPHByemVteXNsYXcuY3plc25vd2lj ekBpbnRlbC5jb20+IA0KVG86ICAgICAgICBBYmhpamVldCBLYXJ2ZSA8YWJoaWplZXQua2FydmVA dGNzLmNvbT4gDQpDYzogICAgICAgICJkZXZAZHBkay5vcmciIDxkZXZAZHBkay5vcmc+LCAiZGlz Y3Vzc0BvcGVudnN3aXRjaC5vcmciIDwNCmRpc2N1c3NAb3BlbnZzd2l0Y2gub3JnPiwgIkdyYXks IE1hcmsgRCIgPG1hcmsuZC5ncmF5QGludGVsLmNvbT4gDQpEYXRlOiAgICAgICAgMTIvMTcvMjAx NSAwNToyNyBQTSANClN1YmplY3Q6ICAgICAgICBSRTogW2RwZGstZGV2XSBEUERLIE9WUyBvbiBV YnVudHUgMTQuMDQjIElzc3VlJ3MgUmVzb2x2ZWQjIA0KU3VjY2Vzc2Z1bGx5IHNldHVwIERQREsg T1ZTIHdpdGggdmhvc3R1c2VyIA0KDQoNCg0KDQoNCg0KSEkgQWJoaWplZXQsIA0KDQpGb3IgS2ls byB5b3UgbmVlZCB0byB1c2Ugb3ZzZHBkayBtZWNoYW5pc20gZHJpdmVyIGFuZCBhIG1hdGNoaW5n IGFnZW50IHRvIA0KaW50ZWdyYXRlIG92cy1kcGRrIHdpdGggT3BlblN0YWNrLiANCg0KVGhlIGd1 aWRlIHlvdSBhcmUgZm9sbG93aW5nIG9ubHkgdGFsa3MgYWJvdXQgcnVubmluZyBvdnMtZHBkayBu b3QgaG93IGl0IA0Kc2hvdWxkIGJlIGludGVncmF0ZWQgd2l0aCBPcGVuU3RhY2suIA0KDQpQbGVh c2UgZm9sbG93IHRoaXMgZ3VpZGU6IA0KaHR0cHM6Ly9naXRodWIuY29tL29wZW5zdGFjay9uZXR3 b3JraW5nLW92cy1kcGRrL2Jsb2Ivc3RhYmxlL2tpbG8vZG9jL3NvdXJjZS9nZXRzdGFydGVkL3Vi dW50dS5yc3QgDQoNCg0KQmVzdCByZWdhcmRzIA0KUHJ6ZW1layANCg0KDQpGcm9tOiBBYmhpamVl dCBLYXJ2ZSBbbWFpbHRvOmFiaGlqZWV0LmthcnZlQHRjcy5jb21dIA0KU2VudDogV2VkbmVzZGF5 LCBEZWNlbWJlciAxNiwgMjAxNSA5OjM3IEFNDQpUbzogQ3plc25vd2ljeiwgUHJ6ZW15c2xhdw0K Q2M6IGRldkBkcGRrLm9yZzsgZGlzY3Vzc0BvcGVudnN3aXRjaC5vcmc7IEdyYXksIE1hcmsgRA0K U3ViamVjdDogUkU6IFtkcGRrLWRldl0gRFBESyBPVlMgb24gVWJ1bnR1IDE0LjA0IyBJc3N1ZSdz IFJlc29sdmVkIyANClN1Y2Nlc3NmdWxseSBzZXR1cCBEUERLIE9WUyB3aXRoIHZob3N0dXNlciAN Cg0KSGkgUHJ6ZW1laywgDQoNCg0KV2UgaGF2ZSBjb25maWd1cmVkIHRoZSBhY2NlbGVyYXRlZCBk YXRhIHBhdGggYmV0d2VlbiBhIHBoeXNpY2FsIGludGVyZmFjZSANCnRvIHRoZSBWTSB1c2luZyBv cGVudnN3aXRjaCBuZXRkZXYtZHBkayB3aXRoIHZob3N0LXVzZXIgc3VwcG9ydC4gVGhlIFZNIA0K Y3JlYXRlZCB3aXRoIHRoaXMgc3BlY2lhbCBkYXRhIHBhdGggYW5kIHZob3N0IGxpYnJhcnksIEkg YW0gY2FsbGluZyBhcyANCkRQREsgaW5zdGFuY2UuIA0KDQpJZiBhc3NpZ25pbmcgaXAgbWFudWFs bHkgdG8gdGhlIG5ld2x5IGNyZWF0ZWQgQ2lycm9zIFZNIGluc3RhbmNlLCBXZSBhcmUgDQphYmxl IHRvIG1ha2UgMiBWTSdzIHRvIGNvbW11bmljYXRlIG9uIHRoZSBzYW1lIGNvbXB1dGUgbm9kZS4g RWxzZSBpdCdzIG5vdCANCmFzc29jaWF0aW5nIGFueSBpcCB0aHJvdWdoIERIQ1AgdGhvdWdoIERI Q1AgaXMgaW4gY29tcHV0ZSBub2RlIG9ubHkuIA0KDQpZZXMgaXQncyBhIGNvbXB1dGUgKyBjb250 cm9sbGVyIG5vZGUgc2V0dXAgYW5kIHdlIGFyZSB1c2luZyBmb2xsb3dpbmcgDQpzb2Z0d2FyZSBw bGF0Zm9ybSBvbiBjb21wdXRlIG5vZGU6IA0KX19fX19fX19fX19fXyANCk9wZW5zdGFjazogS2ls byANCkRpc3RyaWJ1dGlvbjogVWJ1bnR1IDE0LjA0IA0KT1ZTIFZlcnNpb246IDIuNC4wIA0KRFBE SyAyLjAuMCANCl9fX19fX19fX19fX18gDQoNCldlIGFyZSBmb2xsb3dpbmcgdGhlIGludGVsIGd1 aWRlIA0KaHR0cHM6Ly9zb2Z0d2FyZS5pbnRlbC5jb20vZW4tdXMvYmxvZ3MvMjAxNS8wNi8wOS9i dWlsZGluZy12aG9zdC11c2VyLWZvci1vdnMtdG9kYXktdXNpbmctZHBkay0yMDAgDQoNCg0KV2hl biBkb2luZyAib3ZzLXZzY3RsIHNob3ciIGluIGNvbXB1dGUgbm9kZSwgaXQgc2hvd3MgYmVsb3cg b3V0cHV0OiANCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAN Cm92cy12c2N0bCBzaG93IA0KYzJlYzI5YTUtOTkyZC00ODc1LThhZGMtMTI2NWMyM2UwMzA0IA0K IEJyaWRnZSBici1leCANCiAgICAgUG9ydCBwaHktYnItZXggDQogICAgICAgICBJbnRlcmZhY2Ug cGh5LWJyLWV4IA0KICAgICAgICAgICAgIHR5cGU6IHBhdGNoIA0KICAgICAgICAgICAgIG9wdGlv bnM6IHtwZWVyPWludC1ici1leH0gDQogICAgIFBvcnQgYnItZXggDQogICAgICAgICBJbnRlcmZh Y2UgYnItZXggDQogICAgICAgICAgICAgdHlwZTogaW50ZXJuYWwgDQogQnJpZGdlIGJyLXR1biAN CiAgICAgZmFpbF9tb2RlOiBzZWN1cmUgDQogICAgIFBvcnQgYnItdHVuIA0KICAgICAgICAgSW50 ZXJmYWNlIGJyLXR1biANCiAgICAgICAgICAgICB0eXBlOiBpbnRlcm5hbCANCiAgICAgUG9ydCBw YXRjaC1pbnQgDQogICAgICAgICBJbnRlcmZhY2UgcGF0Y2gtaW50IA0KICAgICAgICAgICAgIHR5 cGU6IHBhdGNoIA0KICAgICAgICAgICAgIG9wdGlvbnM6IHtwZWVyPXBhdGNoLXR1bn0gDQogQnJp ZGdlIGJyLWludCANCiAgICAgZmFpbF9tb2RlOiBzZWN1cmUgDQogICAgIFBvcnQgInF2bzBhZTE5 YTQzLWI2IiANCiAgICAgICAgIHRhZzogMiANCiAgICAgICAgIEludGVyZmFjZSAicXZvMGFlMTlh NDMtYjYiIA0KICAgICBQb3J0IGJyLWludCANCiAgICAgICAgIEludGVyZmFjZSBici1pbnQgDQog ICAgICAgICAgICAgdHlwZTogaW50ZXJuYWwgDQogICAgIFBvcnQgInF2bzMxYzg5ODU2LWEyIiAN CiAgICAgICAgIHRhZzogMSANCiAgICAgICAgIEludGVyZmFjZSAicXZvMzFjODk4NTYtYTIiIA0K ICAgICBQb3J0IHBhdGNoLXR1biANCiAgICAgICAgIEludGVyZmFjZSBwYXRjaC10dW4gDQogICAg ICAgICAgICAgdHlwZTogcGF0Y2ggDQogICAgICAgICAgICAgb3B0aW9uczoge3BlZXI9cGF0Y2gt aW50fSANCiAgICAgUG9ydCBpbnQtYnItZXggDQogICAgICAgICBJbnRlcmZhY2UgaW50LWJyLWV4 IA0KICAgICAgICAgICAgIHR5cGU6IHBhdGNoIA0KICAgICAgICAgICAgIG9wdGlvbnM6IHtwZWVy PXBoeS1ici1leH0gDQogICAgIFBvcnQgInF2bzk3ZmVmMjhhLWVjIiANCiAgICAgICAgIHRhZzog MiANCiAgICAgICAgIEludGVyZmFjZSAicXZvOTdmZWYyOGEtZWMiIA0KIEJyaWRnZSBici1kcGRr IA0KICAgICBQb3J0IGJyLWRwZGsgDQogICAgICAgICBJbnRlcmZhY2UgYnItZHBkayANCiAgICAg ICAgICAgICB0eXBlOiBpbnRlcm5hbCANCiBCcmlkZ2UgImJyMCIgDQogICAgIFBvcnQgImJyMCIg DQogICAgICAgICBJbnRlcmZhY2UgImJyMCIgDQogICAgICAgICAgICAgdHlwZTogaW50ZXJuYWwg DQogICAgIFBvcnQgImRwZGswIiANCiAgICAgICAgIEludGVyZmFjZSAiZHBkazAiIA0KICAgICAg ICAgICAgIHR5cGU6IGRwZGsgDQogICAgIFBvcnQgInZob3N0LXVzZXItMiIgDQogICAgICAgICBJ bnRlcmZhY2UgInZob3N0LXVzZXItMiIgDQogICAgICAgICAgICAgdHlwZTogZHBka3Zob3N0dXNl ciANCiAgICAgUG9ydCAidmhvc3QtdXNlci0wIiANCiAgICAgICAgIEludGVyZmFjZSAidmhvc3Qt dXNlci0wIiANCiAgICAgICAgICAgICB0eXBlOiBkcGRrdmhvc3R1c2VyIA0KICAgICBQb3J0ICJ2 aG9zdC11c2VyLTEiIA0KICAgICAgICAgSW50ZXJmYWNlICJ2aG9zdC11c2VyLTEiIA0KICAgICAg ICAgICAgIHR5cGU6IGRwZGt2aG9zdHVzZXIgDQogb3ZzX3ZlcnNpb246ICIyLjQuMCIgDQpyb290 QGRwZGs6fiMgDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18g DQoNCk9wZW4gZmxvd3Mgb3V0cHV0IGluIGJyaWRnZSBpbiBjb21wdXRlIG5vZGUgYXJlIGFzIGJl bG93OiANCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyANCnJv b3RAZHBkazp+IyBvdnMtb2ZjdGwgZHVtcC1mbG93cyBici10dW4gDQpOWFNUX0ZMT1cgcmVwbHkg KHhpZD0weDQpOiANCmNvb2tpZT0weDAsIGR1cmF0aW9uPTcxNzk2Ljc0MXMsIHRhYmxlPTAsIG5f cGFja2V0cz01MTksIG5fYnl0ZXM9MzM3OTQsIA0KaWRsZV9hZ2U9MTk5ODIsIGhhcmRfYWdlPTY1 NTM0LCBwcmlvcml0eT0xLGluX3BvcnQ9MSBhY3Rpb25zPXJlc3VibWl0KCwyKSANCmNvb2tpZT0w eDAsIGR1cmF0aW9uPTcxNzk2LjcwMHMsIHRhYmxlPTAsIG5fcGFja2V0cz0wLCBuX2J5dGVzPTAs IA0KaWRsZV9hZ2U9NjU1MzQsIGhhcmRfYWdlPTY1NTM0LCBwcmlvcml0eT0wIGFjdGlvbnM9ZHJv cCANCmNvb2tpZT0weDAsIGR1cmF0aW9uPTcxNzk2LjY0OXMsIHRhYmxlPTIsIG5fcGFja2V0cz0w LCBuX2J5dGVzPTAsIA0KaWRsZV9hZ2U9NjU1MzQsIGhhcmRfYWdlPTY1NTM0LCANCnByaW9yaXR5 PTAsZGxfZHN0PTAwOjAwOjAwOjAwOjAwOjAwLzAxOjAwOjAwOjAwOjAwOjAwIA0KYWN0aW9ucz1y ZXN1Ym1pdCgsMjApIA0KY29va2llPTB4MCwgZHVyYXRpb249NzE3OTYuNjEwcywgdGFibGU9Miwg bl9wYWNrZXRzPTUxOSwgbl9ieXRlcz0zMzc5NCwgDQppZGxlX2FnZT0xOTk4MiwgaGFyZF9hZ2U9 NjU1MzQsIA0KcHJpb3JpdHk9MCxkbF9kc3Q9MDE6MDA6MDA6MDA6MDA6MDAvMDE6MDA6MDA6MDA6 MDA6MDAgDQphY3Rpb25zPXJlc3VibWl0KCwyMikgDQpjb29raWU9MHgwLCBkdXJhdGlvbj03MTc5 NC42MzFzLCB0YWJsZT0zLCBuX3BhY2tldHM9MCwgbl9ieXRlcz0wLCANCmlkbGVfYWdlPTY1NTM0 LCBoYXJkX2FnZT02NTUzNCwgcHJpb3JpdHk9MSx0dW5faWQ9MHg1YyANCmFjdGlvbnM9bW9kX3Zs YW5fdmlkOjIscmVzdWJtaXQoLDEwKSANCmNvb2tpZT0weDAsIGR1cmF0aW9uPTcxNzk0LjMxNnMs IHRhYmxlPTMsIG5fcGFja2V0cz0wLCBuX2J5dGVzPTAsIA0KaWRsZV9hZ2U9NjU1MzQsIGhhcmRf YWdlPTY1NTM0LCBwcmlvcml0eT0xLHR1bl9pZD0weDU3IA0KYWN0aW9ucz1tb2Rfdmxhbl92aWQ6 MSxyZXN1Ym1pdCgsMTApIA0KY29va2llPTB4MCwgZHVyYXRpb249NzE3OTYuNTY1cywgdGFibGU9 Mywgbl9wYWNrZXRzPTAsIG5fYnl0ZXM9MCwgDQppZGxlX2FnZT02NTUzNCwgaGFyZF9hZ2U9NjU1 MzQsIHByaW9yaXR5PTAgYWN0aW9ucz1kcm9wIA0KY29va2llPTB4MCwgZHVyYXRpb249NzE3OTYu NTIycywgdGFibGU9NCwgbl9wYWNrZXRzPTAsIG5fYnl0ZXM9MCwgDQppZGxlX2FnZT02NTUzNCwg aGFyZF9hZ2U9NjU1MzQsIHByaW9yaXR5PTAgYWN0aW9ucz1kcm9wIA0KY29va2llPTB4MCwgZHVy YXRpb249NzE3OTYuNDgxcywgdGFibGU9MTAsIG5fcGFja2V0cz0wLCBuX2J5dGVzPTAsIA0KaWRs ZV9hZ2U9NjU1MzQsIGhhcmRfYWdlPTY1NTM0LCBwcmlvcml0eT0xIA0KYWN0aW9ucz1sZWFybih0 YWJsZT0yMCxoYXJkX3RpbWVvdXQ9MzAwLHByaW9yaXR5PTEsTlhNX09GX1ZMQU5fVENJWzAuLjEx XSxOWE1fT0ZfRVRIX0RTVFtdPU5YTV9PRl9FVEhfU1JDW10sbG9hZDowLT5OWE1fT0ZfVkxBTl9U Q0lbXSxsb2FkOk5YTV9OWF9UVU5fSURbXS0+TlhNX05YX1RVTl9JRFtdLG91dHB1dDpOWE1fT0Zf SU5fUE9SVFtdKSxvdXRwdXQ6MSANCg0KY29va2llPTB4MCwgZHVyYXRpb249NzE3OTYuNDM5cywg dGFibGU9MjAsIG5fcGFja2V0cz0wLCBuX2J5dGVzPTAsIA0KaWRsZV9hZ2U9NjU1MzQsIGhhcmRf YWdlPTY1NTM0LCBwcmlvcml0eT0wIGFjdGlvbnM9cmVzdWJtaXQoLDIyKSANCmNvb2tpZT0weDAs IGR1cmF0aW9uPTcxNzk2LjM5OHMsIHRhYmxlPTIyLCBuX3BhY2tldHM9NTE5LCBuX2J5dGVzPTMz Nzk0LCANCmlkbGVfYWdlPTE5OTgyLCBoYXJkX2FnZT02NTUzNCwgcHJpb3JpdHk9MCBhY3Rpb25z PWRyb3AgDQpyb290QGRwZGs6fiMgDQpyb290QGRwZGs6fiMgDQpyb290QGRwZGs6fiMgDQpyb290 QGRwZGs6fiMgb3ZzLW9mY3RsIGR1bXAtZmxvd3MgYnItdHVuIA0KaW50IE5YU1RfRkxPVyByZXBs eSAoeGlkPTB4NCk6IA0KY29va2llPTB4MCwgZHVyYXRpb249NzE4MDEuMjc1cywgdGFibGU9MCwg bl9wYWNrZXRzPTAsIG5fYnl0ZXM9MCwgDQppZGxlX2FnZT02NTUzNCwgaGFyZF9hZ2U9NjU1MzQs IHByaW9yaXR5PTIsaW5fcG9ydD0xMCBhY3Rpb25zPWRyb3AgDQpjb29raWU9MHgwLCBkdXJhdGlv bj03MTgwMS44NjJzLCB0YWJsZT0wLCBuX3BhY2tldHM9NjYxLCBuX2J5dGVzPTQ4OTEyLCANCmlk bGVfYWdlPTE5OTgxLCBoYXJkX2FnZT02NTUzNCwgcHJpb3JpdHk9MSBhY3Rpb25zPU5PUk1BTCAN CmNvb2tpZT0weDAsIGR1cmF0aW9uPTcxODAxLjgxN3MsIHRhYmxlPTIzLCBuX3BhY2tldHM9MCwg bl9ieXRlcz0wLCANCmlkbGVfYWdlPTY1NTM0LCBoYXJkX2FnZT02NTUzNCwgcHJpb3JpdHk9MCBh Y3Rpb25zPWRyb3AgDQpyb290QGRwZGs6fiMgDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18gDQoNCg0KRnVydGhlciB3ZSBkb24ndCBrbm93IHdoYXQgYWxsIHRo ZSBuZXR3b3JrIGNoYW5nZXMoUGFja2V0IEZsb3cgYWRkaXRpb24pIA0KaWYgcmVxdWlyZWQgZm9y IGFzc29jaWF0aW5nIElQIGFkZHJlc3MgdGhyb3VnaCB0aGUgREhDUC4gDQoNCldvdWxkIGJlIHJl YWxseSBhcHByZWNpYXRlIGlmIGhhdmUgY2xhcml0eSBvbiBESENQIGZsb3cgZXN0YWJsaXNobWVu dC4gDQoNCg0KDQpUaGFua3MgJiBSZWdhcmRzDQpBYmhpamVldCBLYXJ2ZQ0KDQoNCg0KDQoNCkZy b206ICAgICAgICAiQ3plc25vd2ljeiwgUHJ6ZW15c2xhdyIgPHByemVteXNsYXcuY3plc25vd2lj ekBpbnRlbC5jb20+IA0KVG86ICAgICAgICBBYmhpamVldCBLYXJ2ZSA8YWJoaWplZXQua2FydmVA dGNzLmNvbT4sICJHcmF5LCBNYXJrIEQiIDwNCm1hcmsuZC5ncmF5QGludGVsLmNvbT4gDQpDYzog ICAgICAgICJkZXZAZHBkay5vcmciIDxkZXZAZHBkay5vcmc+LCAiZGlzY3Vzc0BvcGVudnN3aXRj aC5vcmciIDwNCmRpc2N1c3NAb3BlbnZzd2l0Y2gub3JnPiANCkRhdGU6ICAgICAgICAxMi8xNS8y MDE1IDA5OjEzIFBNIA0KU3ViamVjdDogICAgICAgIFJFOiBbZHBkay1kZXZdIERQREsgT1ZTIG9u IFVidW50dSAxNC4wNCMgSXNzdWUncyBSZXNvbHZlZCMgDQpTdWNjZXNzZnVsbHkgc2V0dXAgRFBE SyBPVlMgd2l0aCB2aG9zdHVzZXIgDQoNCg0KDQoNCg0KDQoNCkhpIEFiaGlqZWV0LA0KDQpJZiB5 b3UgYW5zd2VyIGJlbG93IHF1ZXN0aW9ucyBpdCB3aWxsIGhlbHAgbWUgdW5kZXJzdGFuZCB5b3Vy IHByb2JsZW0uDQoNCldoYXQgZG8geW91IG1lYW4gYnkgRFBESyBpbnN0YW5jZT8NCkFyZSB5b3Ug YWJsZSB0byBjb21tdW5pY2F0ZSB3aXRoIG90aGVyIFZNJ3Mgb24gdGhlIHNhbWUgY29tcHV0ZSBu b2RlPw0KQ2FuIHlvdSBjaGVjayBpZiB0aGUgREhDUCByZXF1ZXN0cyBhcnJpdmUgb24gdGhlIGNv bnRyb2xsZXIgbm9kZT8gKEknbSANCmFzc3VtaW5nIHRoaXMgaXMgYXQgbGVhc3QgY29tcHV0ZSsg Y29udHJvbGxlciBzZXR1cCkNCg0KQmVzdCByZWdhcmRzDQpQcnplbWVrDQoNCj4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2IFttYWlsdG86ZGV2LWJvdW5jZXNAZHBkay5v cmddIE9uIEJlaGFsZiBPZiBBYmhpamVldCBLYXJ2ZQ0KPiBTZW50OiBUdWVzZGF5LCBEZWNlbWJl ciAxNSwgMjAxNSA1OjU2IEFNDQo+IFRvOiBHcmF5LCBNYXJrIEQNCj4gQ2M6IGRldkBkcGRrLm9y ZzsgZGlzY3Vzc0BvcGVudnN3aXRjaC5vcmcNCj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gRFBE SyBPVlMgb24gVWJ1bnR1IDE0LjA0IyBJc3N1ZSdzIFJlc29sdmVkIw0KPiBTdWNjZXNzZnVsbHkg c2V0dXAgRFBESyBPVlMgd2l0aCB2aG9zdHVzZXINCj4gDQo+IERlYXIgQWxsLA0KPiANCj4gQWZ0 ZXIgc2V0aW5nIHVwIHN5c3RlbSBib290IHBhcmFtZXRlcnMgYXMgc2hvd24gYmVsb3csIHRoZSBp c3N1ZSBpcw0KPiByZXNvbHZlZCBub3cgJiB3ZSBhcmUgYWJsZSB0byBzdWNjZXNzZnVsbHkgc2V0 dXAgb3BlbnZzd2l0Y2ggbmV0ZGV2LWRwZGsNCj4gd2l0aCB2aG9zdHVzZXIgc3VwcG9ydC4NCj4g DQo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18NCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXw0KPiBTZXR1cCAyIHNldHMgb2YgaHVnZSBwYWdlcyB3aXRoIGRpZmZlcmVudCBzaXpl cy4gT25lIGZvciBWaG9zdCBhbmQgDQphbm90aGVyDQo+IGZvciBHdWVzdCBWTS4NCj4gICAgICAg ICAgRWRpdCAvZXRjL2RlZmF1bHQvZ3J1Yi4NCj4gICAgICAgICAgICAgR1JVQl9DTURMSU5FX0xJ TlVYPSJpb21tdT1wdCBpbnRlbF9pb21tdT1vbiAgaHVnZXBhZ2Vzej0xRw0KPiBodWdlcGFnZXM9 MTAgaHVnZXBhZ2Vzej0yTSBodWdlcGFnZXM9NDA5NiINCj4gICAgICAgICAgIyB1cGRhdGUtZ3J1 Yg0KPiAgICAgICAgLSBNb3VudCB0aGUgaHVnZSBwYWdlcyBpbnRvIGRpZmZlcmVudCBkaXJlY3Rv cnkuDQo+ICAgICAgICAgICAjIHN1ZG8gbW91bnQgLXQgaHVnZXRsYmZzIG5vZGV2IC9tbnQvaHVn ZV8yTSAtbyBwYWdlc2l6ZT0yTQ0KPiAgICAgICAgICAgIyBzdWRvIG1vdW50IC10IGh1Z2V0bGJm cyBub2RldiAvbW50L2h1Z2VfMUcgLW8gcGFnZXNpemU9MUcNCj4gX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+IA0KPiBBdCBwcmVz ZW50IHdlIGFyZSBmYWNpbmcgYW4gaXNzdWUgaW4gVGVzdGluZyBEUERLIGFwcGxpY2F0aW9uIG9u IHNldHVwLiANCkluIG91cg0KPiBzY2VuYXJpbywgV2UgaGF2ZSBEUERLIGluc3RhbmNlIGxhdW5j aGVkIG9uIHRvcCBvZiB0aGUgT3BlbnN0YWNrIEtpbG8NCj4gY29tcHV0ZSBub2RlLiBOb3QgYWJs ZSB0byBhc3NpZ24gREhDUCBJUCBmcm9tIGNvbnRyb2xsZXIuDQo+IA0KPiANCj4gVGhhbmtzICYg UmVnYXJkcw0KPiBBYmhpamVldCBLYXJ2ZQ0KPiANCj4gPT09PT0tLS0tLT09PT09LS0tLS09PT09 PQ0KPiBOb3RpY2U6IFRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQgaW4gdGhpcyBlLW1haWwgbWVz c2FnZSBhbmQvb3INCj4gYXR0YWNobWVudHMgdG8gaXQgbWF5IGNvbnRhaW4gY29uZmlkZW50aWFs IG9yIHByaXZpbGVnZWQgaW5mb3JtYXRpb24uIElmIA0KeW91DQo+IGFyZSBub3QgdGhlIGludGVu ZGVkIHJlY2lwaWVudCwgYW55IGRpc3NlbWluYXRpb24sIHVzZSwgcmV2aWV3LCANCmRpc3RyaWJ1 dGlvbiwNCj4gcHJpbnRpbmcgb3IgY29weWluZyBvZiB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVk IGluIHRoaXMgZS1tYWlsIG1lc3NhZ2UNCj4gYW5kL29yIGF0dGFjaG1lbnRzIHRvIGl0IGFyZSBz dHJpY3RseSBwcm9oaWJpdGVkLiBJZiB5b3UgaGF2ZSByZWNlaXZlZCANCnRoaXMNCj4gY29tbXVu aWNhdGlvbiBpbiBlcnJvciwgcGxlYXNlIG5vdGlmeSB1cyBieSByZXBseSBlLW1haWwgb3IgdGVs ZXBob25lIA0KYW5kDQo+IGltbWVkaWF0ZWx5IGFuZCBwZXJtYW5lbnRseSBkZWxldGUgdGhlIG1l c3NhZ2UgYW5kIGFueSBhdHRhY2htZW50cy4NCj4gVGhhbmsgeW91DQo+IA0KDQo= >From fyigit@ecsmtp.ir.intel.com Wed Jan 27 17:24:29 2016 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id C623995CB for ; Wed, 27 Jan 2016 17:24:28 +0100 (CET) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga102.fm.intel.com with ESMTP; 27 Jan 2016 08:24:16 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,355,1449561600"; d="scan'208";a="902264344" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by fmsmga002.fm.intel.com with ESMTP; 27 Jan 2016 08:24:15 -0800 Received: from sivswdev01.ir.intel.com (sivswdev01.ir.intel.com [10.237.217.45]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id u0RGOEus009387; Wed, 27 Jan 2016 16:24:14 GMT Received: from sivswdev01.ir.intel.com (localhost [127.0.0.1]) by sivswdev01.ir.intel.com with ESMTP id u0RGOEXn016601; Wed, 27 Jan 2016 16:24:14 GMT Received: (from fyigit@localhost) by sivswdev01.ir.intel.com with id u0RGOEB1016597; Wed, 27 Jan 2016 16:24:14 GMT From: Ferruh Yigit To: dev@dpdk.org Date: Wed, 27 Jan 2016 16:24:06 +0000 Message-Id: <1453911849-16562-1-git-send-email-ferruh.yigit@intel.com> X-Mailer: git-send-email 1.7.4.1 Subject: [dpdk-dev] [PATCH 0/3] Use common Linux tools to control DPDK ports X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Jan 2016 16:24:29 -0000 This work is to make DPDK ports more visible and to enable using common Linux tools to configure DPDK ports. Patch is based on KNI but contains only control functionality of it, also this patch does not include any Linux kernel network driver as part of it. Basically with the help of a kernel module (KCP), virtual Linux network interfaces named as "dpdk$" are created per DPDK port, control messages sent to these virtual interfaces are forwarded to DPDK, and response sent back to Linux application. Virtual interfaces created when DPDK application started and destroyed automatically when DPDK application terminated. Communication between kernel-space and DPDK done using netlink socket. Currently implementation is not complete, sample support added for the RFC, more functionality can be added based on community response. With this RFC Patch, supported: get/set mac address/mtu of DPDK devices, getting stats from DPDK devices and some set of ethtool commands. In long term this patch intends to replace the KNI and KNI will be depreciated. Samples: $ ifconfig dpdk0: flags=4099 mtu 1500 ether 90:e2:ba:0e:49:b8 txqueuelen 1000 (Ethernet) RX packets 33 bytes 2058 (2.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 33 bytes 2058 (2.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 dpdk1: flags=4099 mtu 1500 ether 00:1b:21:76:fa:21 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 After some traffic on port 0: $ ifconfig dpdk0: flags=4099 mtu 1500 ether 90:e2:ba:0e:49:77 txqueuelen 1000 (Ethernet) RX packets 962 bytes 57798 (56.4 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 962 bytes 57798 (56.4 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 $ ethtool -i dpdk0 driver: rte_ixgbe_pmd version: RTE 2.3.0-rc0 firmware-version: expansion-rom-version: bus-info: 0000:08:00.0 supports-statistics: yes supports-test: no supports-eeprom-access: yes supports-register-dump: yes supports-priv-flags: no $ ip l show dpdk0 25: dpdk0: mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether 90:e2:ba:0e:49:b8 brd ff:ff:ff:ff:ff:ff $ ip l set dpdk0 addr 90:e2:ba:0e:49:77 $ ip l show dpdk0 25: dpdk0: mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether 90:e2:ba:0e:49:77 brd ff:ff:ff:ff:ff:ff Ferruh Yigit (3): kcp: add kernel control path kernel module rte_ctrl_if: add control interface library examples/ethtool: add control interface support to the application config/common_linuxapp | 9 +- doc/api/doxy-api-index.md | 3 +- doc/api/doxy-api.conf | 1 + doc/guides/rel_notes/release_2_3.rst | 9 + doc/guides/sample_app_ug/ethtool.rst | 41 +++ examples/ethtool/ethtool-app/main.c | 10 +- lib/Makefile | 3 +- lib/librte_ctrl_if/Makefile | 58 ++++ lib/librte_ctrl_if/rte_ctrl_if.c | 162 ++++++++++ lib/librte_ctrl_if/rte_ctrl_if.h | 115 +++++++ lib/librte_ctrl_if/rte_ctrl_if_version.map | 9 + lib/librte_ctrl_if/rte_ethtool.c | 354 +++++++++++++++++++++ lib/librte_ctrl_if/rte_ethtool.h | 54 ++++ lib/librte_ctrl_if/rte_nl.c | 259 +++++++++++++++ lib/librte_ctrl_if/rte_nl.h | 60 ++++ lib/librte_eal/common/include/rte_log.h | 3 +- lib/librte_eal/linuxapp/Makefile | 5 +- lib/librte_eal/linuxapp/eal/Makefile | 3 +- .../linuxapp/eal/include/exec-env/rte_kcp_common.h | 86 +++++ lib/librte_eal/linuxapp/kcp/Makefile | 58 ++++ lib/librte_eal/linuxapp/kcp/kcp_dev.h | 65 ++++ lib/librte_eal/linuxapp/kcp/kcp_ethtool.c | 261 +++++++++++++++ lib/librte_eal/linuxapp/kcp/kcp_misc.c | 282 ++++++++++++++++ lib/librte_eal/linuxapp/kcp/kcp_net.c | 209 ++++++++++++ lib/librte_eal/linuxapp/kcp/kcp_nl.c | 194 +++++++++++ mk/rte.app.mk | 3 +- 26 files changed, 2307 insertions(+), 9 deletions(-) create mode 100644 lib/librte_ctrl_if/Makefile create mode 100644 lib/librte_ctrl_if/rte_ctrl_if.c create mode 100644 lib/librte_ctrl_if/rte_ctrl_if.h create mode 100644 lib/librte_ctrl_if/rte_ctrl_if_version.map create mode 100644 lib/librte_ctrl_if/rte_ethtool.c create mode 100644 lib/librte_ctrl_if/rte_ethtool.h create mode 100644 lib/librte_ctrl_if/rte_nl.c create mode 100644 lib/librte_ctrl_if/rte_nl.h create mode 100644 lib/librte_eal/linuxapp/eal/include/exec-env/rte_kcp_common.h create mode 100644 lib/librte_eal/linuxapp/kcp/Makefile create mode 100644 lib/librte_eal/linuxapp/kcp/kcp_dev.h create mode 100644 lib/librte_eal/linuxapp/kcp/kcp_ethtool.c create mode 100644 lib/librte_eal/linuxapp/kcp/kcp_misc.c create mode 100644 lib/librte_eal/linuxapp/kcp/kcp_net.c create mode 100644 lib/librte_eal/linuxapp/kcp/kcp_nl.c -- 2.5.0