From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7B336A0577; Sun, 5 Apr 2020 05:49:09 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B4A68276C; Sun, 5 Apr 2020 05:49:08 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by dpdk.org (Postfix) with ESMTP id AECEAFFA for ; Sun, 5 Apr 2020 05:49:07 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 0353lHst001204; Sat, 4 Apr 2020 20:49:06 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0818; bh=fWVokqgGSqhIK3Z6est/HxRiVY+OZ7Y16QUhoegMywM=; b=DYa3T0/3wtyu9mskRZsUkyZ335RRHhrHBEoXraZhZaoM8UcxPy3AdqtDksfKOgo51kOl 5euJARv7nSAhS8rcU/X80WwcljkPcNmNjviXAIh9Ycxh99JHYx42y7NwmEpj98bjCPrp lrZkd4rTOPYvvVmo0BNBORsCsM0UYCbRQtjdPRZ9sQeMZG+caRlFLxDpt98x0ZLxD3tH ztAQpH4vbt6cW6wC7ZRJrxMjX4gybethtfrmiofkSNFtnhUSSmiplv0+tquhT9ebaMoU B/pNLT10PqjcFK9zekVCojj6A7S0r5JHTpwVzmxpB47eIkfYT0xKkAkC6FfA0aEy9NcZ ag== Received: from sc-exch02.marvell.com ([199.233.58.182]) by mx0a-0016f401.pphosted.com with ESMTP id 306qkqt4k5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Sat, 04 Apr 2020 20:49:06 -0700 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sat, 4 Apr 2020 20:49:05 -0700 Received: from SC-EXCH04.marvell.com (10.93.176.84) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sat, 4 Apr 2020 20:49:04 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.173) by SC-EXCH04.marvell.com (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Sat, 4 Apr 2020 20:49:04 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kvLcOQpVMTD4o5tMvH/98edqYiDmG91VyPRTmweeZ03SKM40hpgykxG3o5K8AT0lFw1Pg4tuCFX9XhpHL+UIqx5cSUqCtbuQwCGi+aWQSUA6JE/3j5y0LBTVw5k8dlIRjjuUfQjSxvWrgFSZhYZ2S5bAw5zjVTmRfK4mA33pgmXBK68Gjw6MlAfHQqzTdVy70DhB9UgHvkngPQpgR9fXSHjAUma0n79tK/PuDjsOXVYbqkzj+/EMJdYsRrTPKSuu2bhvGaN+0ja+vGE3bJbqifYZ42QKMiS5z1kCySZ3l++B4Giui9Z6EvN/HA8bokgRiv98ymDtW88P5fFPK5HAjw== 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=fWVokqgGSqhIK3Z6est/HxRiVY+OZ7Y16QUhoegMywM=; b=WIv4fsxrQ0HS4x8pHOjQkgPi2DF7veLl3g8HjDIiXj1ndcMEpQ+hjw9h8nxrn4g5nRihpTSon8Z1FnqPrHqlAcaNMjXAbT257/tEy/JKvOUNADmq1WCOzmq/KTJBcabIREh7E1EGR0Y2KCRzcdjp/KjT1iY6c8NPp5sqDJSLesE+Q29Wj1l4xba472y4lIxPcjO6C5XYlYAdmMKSdVtpR2FwLNjCUuTJQq2o3B+XpLphNs0MMJ6zbiHNPRh/B1fz0RlOV5qoYaontzBQcXgfo8Silq6M+nNC6R6o3ucy8/cD5J2bP6mlAdyXXr/TxRvf98vSiJLdGDwurDGznS+0uA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fWVokqgGSqhIK3Z6est/HxRiVY+OZ7Y16QUhoegMywM=; b=gIU7mcdMFPirHCDGrd8vNi1ThcpRSBo2todK6vbqpv6Eu5o5PopS6egR0FA6a8I/HP+iRk+FqIsydkWFPwpWO8zinLg5aikPERjwgVzbboZxWJDcRh3RLVht5WuyFE3x8G+clVHhRmWzDKkMk4+y6/Jol8inWVPqiDQoEi1Ve3Q= Received: from MWHPR18MB1645.namprd18.prod.outlook.com (2603:10b6:300:ca::9) by MWHPR18MB0976.namprd18.prod.outlook.com (2603:10b6:300:9a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2878.19; Sun, 5 Apr 2020 03:49:01 +0000 Received: from MWHPR18MB1645.namprd18.prod.outlook.com ([fe80::34df:bd9:ffe5:ff77]) by MWHPR18MB1645.namprd18.prod.outlook.com ([fe80::34df:bd9:ffe5:ff77%8]) with mapi id 15.20.2878.016; Sun, 5 Apr 2020 03:49:00 +0000 From: Vamsi Krishna Attunuru To: "Andrzej Ostruszka [C]" , "dev@dpdk.org" CC: "jerinjacobk@gmail.com" , "bruce.richardson@intel.com" , "david.marchand@redhat.com" , "grive@u256.net" , Jerin Jacob Kollanukkaran , "Pavan Nikhilesh Bhagavatula" , "thomas@monjalon.net" Thread-Topic: [PATCH] [v1 1/1] examples/l2fwd: add cmdline option for forwarding port info Thread-Index: AQHWCWhE8Hs7v01djEyUjSSTHtG2o6hnWnuAgAKMmoA= Date: Sun, 5 Apr 2020 03:49:00 +0000 Message-ID: References: <20200403033013.4842-1-vattunuru@marvell.com> <829338ed-51e8-f045-8b5b-0e39a19504b3@marvell.com> In-Reply-To: <829338ed-51e8-f045-8b5b-0e39a19504b3@marvell.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [157.48.45.186] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f4fc928b-3cf0-4e94-4599-08d7d91446ef x-ms-traffictypediagnostic: MWHPR18MB0976: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:404; x-forefront-prvs: 03648EFF89 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR18MB1645.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(10009020)(4636009)(366004)(346002)(396003)(39850400004)(136003)(376002)(478600001)(8676002)(110136005)(81166006)(9686003)(66446008)(66556008)(76116006)(66946007)(52536014)(26005)(186003)(66476007)(53546011)(7696005)(64756008)(81156014)(55016002)(2906002)(8936002)(86362001)(5660300002)(54906003)(4326008)(6506007)(316002)(33656002)(71200400001); DIR:OUT; SFP:1101; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: z3JmDOm+D7217qQJBEBHy7wBRjG5bAaWIMHbE3/6C4XFQv1nN1pzr6rnEBrhQvSiedWpzW/mlgdRlKyLQ6WYgj5hVWaDMFiTxc1tO7HBgdk6CIGAa8XFwRxcVvCJAO1mmUSxaPJhp38ShyYm4X5BtB8K3E4C1J8FpjMXgDUexEpMy3krKNWp6kn7YqOtNAzdTs2lRdq2v6pMBBsWg5Cj33S3ElHPjfMAlj/53mVdaZV6lpKwep/qLKUdlJB8/b2gybFmlNq78LgypzukGGfCiWAdbYGl9fRkogKei8FG/TbiltRJf8oZU9OtkpnWlRIbyEpfe8D/m049Jv8V0euZi+C+Mxz6EaQpBzX4y9fhopqjUT8yhi29UuGnIG2VerZ2CA+lixuoyiWlPokvveTPoIfPuY8PT5Fcm1kUdndVYXeXd/tZ575JYRQu033ZU+02 x-ms-exchange-antispam-messagedata: 5LXWA1XRcoVoX6aVIgEzEJqgzcgsvxPq5ShqWVBc78jWWcy1+RXiUs44edw6b9m5dFTyOJN6GRGe8lzHnc5yBjHLrp5rG50JNAo+n5e90QURghTy1T8sCWZeQFVWFBvAQ6QcchNthN8VKnphHegdvg== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: f4fc928b-3cf0-4e94-4599-08d7d91446ef X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Apr 2020 03:49:00.5815 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: APArzEaKSyDRP+Rr5MyzS/hy+gXRicbf49NyzYAhP20tYjUzi2b9boH4ry3FKFYUtRt3z3Iq8bHxci73n4PI4Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR18MB0976 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.676 definitions=2020-04-04_19:2020-04-03, 2020-04-04 signatures=0 Subject: Re: [dpdk-dev] [PATCH] [v1 1/1] examples/l2fwd: add cmdline option for forwarding port info 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQW5kcnplaiBPc3RydXN6 a2EgW0NdIDxhb3N0cnVzemthQG1hcnZlbGwuY29tPg0KPiBTZW50OiBGcmlkYXksIEFwcmlsIDMs IDIwMjAgNjoyMiBQTQ0KPiBUbzogVmFtc2kgS3Jpc2huYSBBdHR1bnVydSA8dmF0dHVudXJ1QG1h cnZlbGwuY29tPjsgZGV2QGRwZGsub3JnDQo+IENjOiBqZXJpbmphY29ia0BnbWFpbC5jb207IGJy dWNlLnJpY2hhcmRzb25AaW50ZWwuY29tOw0KPiBkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tOyBn cml2ZUB1MjU2Lm5ldDsgSmVyaW4gSmFjb2IgS29sbGFudWtrYXJhbg0KPiA8amVyaW5qQG1hcnZl bGwuY29tPjsgUGF2YW4gTmlraGlsZXNoIEJoYWdhdmF0dWxhDQo+IDxwYmhhZ2F2YXR1bGFAbWFy dmVsbC5jb20+OyB0aG9tYXNAbW9uamFsb24ubmV0DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIFt2 MSAxLzFdIGV4YW1wbGVzL2wyZndkOiBhZGQgY21kbGluZSBvcHRpb24gZm9yDQo+IGZvcndhcmRp bmcgcG9ydCBpbmZvDQo+IA0KPiBPbiA0LzMvMjAgNTozMCBBTSwgdmF0dHVudXJ1QG1hcnZlbGwu Y29tIHdyb3RlOg0KPiA+IEZyb206IFZhbXNpIEF0dHVudXJ1IDx2YXR0dW51cnVAbWFydmVsbC5j b20+DQo+ID4NCj4gPiBDdXJyZW50IGwyZndkIGFwcGxpY2F0aW9uIGNvbmZpZ3VyZXMgYWRqYWNl bnQgcG9ydHMgYXMgZGVzdGluYXRpb24NCj4gPiBwb3J0cyBmb3IgZm9yd2FyZGluZyB0aGUgdHJh ZmZpYyB3aGljaCBpcyBhIGtpbmQgb2Ygc3RhdGljIG1hcHBpbmcNCj4gPiB0aGF0IGNhbiBub3Qg YmUgYWx0ZXJlZCBieSB0aGUgY29tbWFuZCBsaW5lIG9wdGlvbnMuDQo+ID4NCj4gPiBQYXRjaCBh ZGRzIGEgY29uZmlnIG9wdGlvbiB0byBwYXNzIHRoZSBmb3J3YXJkaW5nIHBvcnQgcGFpciBtYXBw aW5nIGFzDQo+ID4gYSBjb21tYW5kIGxpbmUgcGFyYW1ldGVyIHdoaWNoIGFsbG93cyB0aGUgdXNl ciB0byBwYXNzIHJlcXVpcmVkDQo+ID4gZm9yd2FyZGluZyBwb3J0IG1hcHBpbmcuDQo+ID4NCj4g PiBJZiBubyBjb25maWcgYXJndW1lbnQgaXMgc3BlY2lmaWVkLCBkZXN0aW5hdGlvbiBwb3J0IG1h cCBpcyBub3QNCj4gPiBjaGFuZ2VkIGFuZCB0cmFmZmljIGdldHMgZm9yd2FyZGVkIHdpdGggZXhp c3RpbmcgbWFwcGluZy4NCj4gPg0KPiA+IFdoZW4gcG9ydCBwYWlyIG1hcHBpbmcgaXMgcGFzc2Vk IGluIGNvbmZpZyBvcHRpb24sIGRlc3RpbmF0aW9uIHBvcnQNCj4gPiBtYXAgaXMgY29uZmlndXJl ZCBhbmQgdHJhZmZpYyBnZXRzIGZvcndhcmRlZCBhY2NvcmRpbmdseS4NCj4gPg0KPiA+IEV4OiAu L2wyZndkIC1jIDB4ZmYgLS0gLXAgMHgzZiAtLWNvbmZpZz0iKDAsMykoMSw0KSgyLDUpIg0KPiA+ DQo+ID4gV2l0aCBhYm92ZSBjb25maWcgb3B0aW9uLCB0cmFmZmljIHJlY2VpdmVkIGZyb20gcG9y dGlkID0gMCBnZXRzDQo+ID4gZm9yd2FyZGVkIHRvIHBvcnQgPSAzIGFuZCB2aWNlIHZlcnNhLCBz aW1pbGFybHkgdHJhZmZpYyBnZXRzIGZvcndhcmRlZA0KPiA+IG9uIG90aGVyIHBvcnQgcGFpcnMg KDEsNCkgYW5kICgyLDUpLg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogVmFtc2kgQXR0dW51cnUg PHZhdHR1bnVydUBtYXJ2ZWxsLmNvbT4NCj4gPiAtLS0NCj4gPiAgZG9jL2d1aWRlcy9yZWxfbm90 ZXMvcmVsZWFzZV8yMF8wNS5yc3QgICAgICAgICAgICAgfCAgIDYgKw0KPiA+ICAuLi4vc2FtcGxl X2FwcF91Zy9sMl9mb3J3YXJkX3JlYWxfdmlydHVhbC5yc3QgICAgICB8ICAxOCArKy0NCj4gPiAg ZXhhbXBsZXMvbDJmd2QvbWFpbi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxNzQg KysrKysrKysrKysrKysrKysrLS0tDQo+ID4gIDMgZmlsZXMgY2hhbmdlZCwgMTc3IGluc2VydGlv bnMoKyksIDIxIGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMv cmVsX25vdGVzL3JlbGVhc2VfMjBfMDUucnN0DQo+ID4gYi9kb2MvZ3VpZGVzL3JlbF9ub3Rlcy9y ZWxlYXNlXzIwXzA1LnJzdA0KPiA+IGluZGV4IDAwMGJiZjUuLjY0NTQwMGIgMTAwNjQ0DQo+ID4g LS0tIGEvZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yMF8wNS5yc3QNCj4gPiArKysgYi9k b2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIwXzA1LnJzdA0KPiA+IEBAIC02Miw2ICs2Miwx MiBAQCBOZXcgRmVhdHVyZXMNCj4gPg0KPiA+ICAgICogQWRkZWQgc3VwcG9ydCBmb3IgbWF0Y2hp bmcgb24gSVB2NCBUaW1lIFRvIExpdmUgYW5kIElQdjYgSG9wIExpbWl0Lg0KPiA+DQo+ID4gKyog KipBZGRlZCAtLWNvbmZpZyBjb21tYW5kIGxpbmUgcGFyYW1ldGVyIHRvIGwyZndkIGV4YW1wbGUu KioNCj4gPiArDQo+ID4gKyAgQWRkZWQgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gYGAtLWNvbmZp Zyhwb3J0LCBwb3J0KVssKHBvcnQsDQo+ID4gKyBwb3J0KV1gYCB0bw0KPiANCj4gTWF5YmUgdXNl IHRoZSBhY3R1YWwgc3ludGF4IHdpdGggJz0nIG9yIHNwYWNlIGFmdGVyICdjb25maWcnPw0KPiAN Cj4gPiArICBwYXNzIGZvcndhcmRpbmcgcG9ydCBkZXRhaWxzLg0KPiA+ICsgIFNlZSB0aGUgOmRv YzpgZG9jL2d1aWRlcy9zYW1wbGVfYXBwX3VnL2wyX2ZvcndhcmRfcmVhbF92aXJ0dWFsYCBmb3IN Cj4gPiArIG1vcmUgIGRldGFpbHMgb2YgdGhpcyBwYXJhbWV0ZXIgdXNhZ2UuDQo+ID4NCj4gPiAg UmVtb3ZlZCBJdGVtcw0KPiA+ICAtLS0tLS0tLS0tLS0tDQo+ID4gZGlmZiAtLWdpdCBhL2RvYy9n dWlkZXMvc2FtcGxlX2FwcF91Zy9sMl9mb3J3YXJkX3JlYWxfdmlydHVhbC5yc3QNCj4gPiBiL2Rv Yy9ndWlkZXMvc2FtcGxlX2FwcF91Zy9sMl9mb3J3YXJkX3JlYWxfdmlydHVhbC5yc3QNCj4gPiBp bmRleCAzOWQ2YjAwLi5lNzA4Zjg4IDEwMDY0NA0KPiA+IC0tLSBhL2RvYy9ndWlkZXMvc2FtcGxl X2FwcF91Zy9sMl9mb3J3YXJkX3JlYWxfdmlydHVhbC5yc3QNCj4gPiArKysgYi9kb2MvZ3VpZGVz L3NhbXBsZV9hcHBfdWcvbDJfZm9yd2FyZF9yZWFsX3ZpcnR1YWwucnN0DQo+ID4gQEAgLTkxLDcg KzkxLDEwIEBAIFRoZSBhcHBsaWNhdGlvbiByZXF1aXJlcyBhIG51bWJlciBvZiBjb21tYW5kIGxp bmUNCj4gb3B0aW9uczoNCj4gPg0KPiA+ICAuLiBjb2RlLWJsb2NrOjogY29uc29sZQ0KPiA+DQo+ ID4gLSAgICAuL2J1aWxkL2wyZndkIFtFQUwgb3B0aW9uc10gLS0gLXAgUE9SVE1BU0sgWy1xIE5R XSAtLVtuby1dbWFjLXVwZGF0aW5nDQo+ID4gKyAgICAuL2J1aWxkL2wyZndkIFtFQUwgb3B0aW9u c10gLS0gLXAgUE9SVE1BU0sNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBbLXEgTlFdDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1bbm8t XW1hYy11cGRhdGluZw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0t Y29uZmlnKHBvcnQsIHBvcnQpWywocG9ydCwNCj4gPiArIHBvcnQpXQ0KPiANCj4gRGl0dG8NCj4g DQo+ID4NCj4gPiAgd2hlcmUsDQo+ID4NCj4gPiBAQCAtOTksNyArMTAyLDEwIEBAIHdoZXJlLA0K PiA+DQo+ID4gICogICBxIE5ROiBBIG51bWJlciBvZiBxdWV1ZXMgKD1wb3J0cykgcGVyIGxjb3Jl IChkZWZhdWx0IGlzIDEpDQo+ID4NCj4gPiAtKiAgIC0tW25vLV1tYWMtdXBkYXRpbmc6IEVuYWJs ZSBvciBkaXNhYmxlIE1BQyBhZGRyZXNzZXMgdXBkYXRpbmcNCj4gKGVuYWJsZWQgYnkgZGVmYXVs dCkuDQo+ID4gKyogICAtLVtuby1dbWFjLXVwZGF0aW5nOiBFbmFibGUgb3IgZGlzYWJsZSBNQUMg YWRkcmVzc2VzIHVwZGF0aW5nDQo+IChlbmFibGVkIGJ5IGRlZmF1bHQpDQo+ID4gKw0KPiA+ICsq ICAgLS1jb25maWcocG9ydCxwb3J0KVssKHBvcnQscG9ydCldOiBEZXRlcm1pbmVzIHdoaWNoIHBv cnRzIGFyZSBtYXBwZWQNCj4gdG8NCj4gPiArICAgIHdoaWNoIHBvcnRzIGZvciBwYWNrZXQgZm9y d2FyZGluZy4NCj4gDQo+IERpdHRvDQo+IA0KPiA+DQo+ID4gIFRvIHJ1biB0aGUgYXBwbGljYXRp b24gaW4gbGludXggZW52aXJvbm1lbnQgd2l0aCA0IGxjb3JlcywgMTYgcG9ydHMNCj4gPiBhbmQg OCBSWCBxdWV1ZXMgcGVyIGxjb3JlIGFuZCBNQUMgYWRkcmVzcyAgdXBkYXRpbmcgZW5hYmxlZCwg aXNzdWUgdGhlDQo+IGNvbW1hbmQ6DQo+ID4gQEAgLTEwOCw2ICsxMTQsMTQgQEAgdXBkYXRpbmcg ZW5hYmxlZCwgaXNzdWUgdGhlIGNvbW1hbmQ6DQo+ID4NCj4gPiAgICAgICQgLi9idWlsZC9sMmZ3 ZCAtbCAwLTMgLW4gNCAtLSAtcSA4IC1wIGZmZmYNCj4gPg0KPiA+ICtUbyBydW4gdGhlIGFwcGxp Y2F0aW9uIGluIGxpbnV4IGVudmlyb25tZW50IHdpdGggNCBsY29yZXMsIDQgcG9ydHMsIDgNCj4g PiArUlggcXVldWVzIHBlciBsY29yZSBhbmQgTUFDIGFkZHJlc3MgdXBkYXRpbmcgZW5hYmxlZCwg dG8gZm9yd2FyZCBSWA0KPiA+ICt0cmFmZmljIG9mIHBvcnRzIDAgJiAxIG9uIHBvcnRzIDIgJiAz IHJlc3BlY3RpdmVseSBhbmQgdmljZSB2ZXJzYSwgaXNzdWUgdGhlDQo+IGNvbW1hbmQ6DQo+ID4g Kw0KPiA+ICsuLiBjb2RlLWJsb2NrOjogY29uc29sZQ0KPiA+ICsNCj4gPiArICAgICQgLi9idWls ZC9sMmZ3ZCAtbCAwLTMgLW4gNCAtLSAtcSA4IC1wIGYgLS1jb25maWc9IigwLDIpKDEsMykiDQo+ ID4gKw0KPiA+ICBSZWZlciB0byB0aGUgKkRQREsgR2V0dGluZyBTdGFydGVkIEd1aWRlKiBmb3Ig Z2VuZXJhbCBpbmZvcm1hdGlvbiBvbg0KPiA+IHJ1bm5pbmcgYXBwbGljYXRpb25zICBhbmQgdGhl IEVudmlyb25tZW50IEFic3RyYWN0aW9uIExheWVyIChFQUwpIG9wdGlvbnMuDQo+ID4NCj4gPiBk aWZmIC0tZ2l0IGEvZXhhbXBsZXMvbDJmd2QvbWFpbi5jIGIvZXhhbXBsZXMvbDJmd2QvbWFpbi5j IGluZGV4DQo+ID4gMDkyNTdhYS4uYThiOThiOSAxMDA2NDQNCj4gPiAtLS0gYS9leGFtcGxlcy9s MmZ3ZC9tYWluLmMNCj4gPiArKysgYi9leGFtcGxlcy9sMmZ3ZC9tYWluLmMNCj4gPiBAQCAtMzgs NiArMzgsNyBAQA0KPiA+ICAjaW5jbHVkZSA8cnRlX2V0aGRldi5oPg0KPiA+ICAjaW5jbHVkZSA8 cnRlX21lbXBvb2wuaD4NCj4gPiAgI2luY2x1ZGUgPHJ0ZV9tYnVmLmg+DQo+ID4gKyNpbmNsdWRl IDxydGVfc3RyaW5nX2Zucy5oPg0KPiA+DQo+ID4gIHN0YXRpYyB2b2xhdGlsZSBib29sIGZvcmNl X3F1aXQ7DQo+ID4NCj4gPiBAQCAtNjcsNiArNjgsMTUgQEAgc3RhdGljIHVpbnQzMl90IGwyZndk X2VuYWJsZWRfcG9ydF9tYXNrID0gMDsNCj4gPiAgLyogbGlzdCBvZiBlbmFibGVkIHBvcnRzICov DQo+ID4gIHN0YXRpYyB1aW50MzJfdCBsMmZ3ZF9kc3RfcG9ydHNbUlRFX01BWF9FVEhQT1JUU107 DQo+ID4NCj4gPiArc3RydWN0IHBvcnRfcGFpcl9wYXJhbXMgew0KPiA+ICsjZGVmaW5lIE5VTV9Q T1JUUwkyDQo+ID4gKwl1aW50MTZfdCBwb3J0W05VTV9QT1JUU107DQo+ID4gK30gX19ydGVfY2Fj aGVfYWxpZ25lZDsNCj4gPiArDQo+ID4gK3N0YXRpYyBzdHJ1Y3QgcG9ydF9wYWlyX3BhcmFtcw0K PiA+ICtwb3J0X3BhaXJfcGFyYW1zX2FycmF5W1JURV9NQVhfRVRIUE9SVFNdOw0KPiA+ICtzdGF0 aWMgc3RydWN0IHBvcnRfcGFpcl9wYXJhbXMgKnBvcnRfcGFpcl9wYXJhbXM7IHN0YXRpYyB1aW50 MTZfdA0KPiA+ICtuYl9wb3J0X3BhaXJfcGFyYW1zID0gMTsNCj4gDQo+IFdoeSB0aGlzIGluaXRp YWxpemF0aW9uIHRvIDE/ICBCZWxvdyAoZHVyaW5nIHBhcnNpbmcpIGl0IGlzIGluaXRpYWxpemVk IHRvIDAsIHNvIEkNCj4gd291bGQgbGVhdmUgdGhpcyBkZWZhdWx0IGluaXRpYWxpemVkLg0KPiAN Cj4gPiArDQo+ID4gIHN0YXRpYyB1bnNpZ25lZCBpbnQgbDJmd2RfcnhfcXVldWVfcGVyX2xjb3Jl ID0gMTsNCj4gPg0KPiA+ICAjZGVmaW5lIE1BWF9SWF9RVUVVRV9QRVJfTENPUkUgMTYNCj4gPiBA QCAtMzE5LDYgKzMyOSw2MCBAQCBsMmZ3ZF9wYXJzZV9wb3J0bWFzayhjb25zdCBjaGFyICpwb3J0 bWFzaykNCj4gPiAgCXJldHVybiBwbTsNCj4gPiAgfQ0KPiA+DQo+ID4gK3N0YXRpYyBpbnQNCj4g PiArbDJmd2RfcGFyc2VfcG9ydF9wYWlyX2NvbmZpZyhjb25zdCBjaGFyICpxX2FyZykgew0KPiA+ ICsJZW51bSBmaWVsZG5hbWVzIHsNCj4gPiArCQlGTERfUE9SVDEgPSAwLA0KPiA+ICsJCUZMRF9Q T1JUMiwNCj4gPiArCQlfTlVNX0ZMRA0KPiA+ICsJfTsNCj4gPiArCXVuc2lnbmVkIGxvbmcgaW50 X2ZsZFtfTlVNX0ZMRF07DQo+ID4gKwljb25zdCBjaGFyICpwLCAqcDAgPSBxX2FyZzsNCj4gPiAr CWNoYXIgKnN0cl9mbGRbX05VTV9GTERdOw0KPiA+ICsJdW5zaWduZWQgaW50IHNpemU7DQo+ID4g KwljaGFyIHNbMjU2XTsNCj4gPiArCWNoYXIgKmVuZDsNCj4gPiArCWludCBpOw0KPiA+ICsNCj4g PiArCW5iX3BvcnRfcGFpcl9wYXJhbXMgPSAwOw0KPiA+ICsNCj4gPiArCXdoaWxlICgocCA9IHN0 cmNocihwMCwgJygnKSkgIT0gTlVMTCkgew0KPiA+ICsJCSsrcDsNCj4gPiArCQlwMCA9IHN0cmNo cihwLCAnKScpOw0KPiA+ICsJCWlmIChwMCA9PSBOVUxMKQ0KPiA+ICsJCQlyZXR1cm4gLTE7DQo+ ID4gKw0KPiA+ICsJCXNpemUgPSBwMCAtIHA7DQo+ID4gKwkJaWYgKHNpemUgPj0gc2l6ZW9mKHMp KQ0KPiA+ICsJCQlyZXR1cm4gLTE7DQo+ID4gKw0KPiA+ICsJCXNucHJpbnRmKHMsIHNpemVvZihz KSwgIiUuKnMiLCBzaXplLCBwKTsNCj4gDQo+IFNhbWUgY29tbWVudCBhcyBmb3IgcmVjZW50IGwy ZndkLWV2ZW50IC0gdGhpcyBjYW4gYmUgc2ltcGxlIG1lbWNweS4NCj4gDQo+ID4gKwkJaWYgKHJ0 ZV9zdHJzcGxpdChzLCBzaXplb2YocyksIHN0cl9mbGQsDQo+ID4gKwkJCQkgX05VTV9GTEQsICcs JykgIT0gX05VTV9GTEQpDQo+ID4gKwkJCXJldHVybiAtMTsNCj4gPiArCQlmb3IgKGkgPSAwOyBp IDwgX05VTV9GTEQ7IGkrKykgew0KPiA+ICsJCQllcnJubyA9IDA7DQo+ID4gKwkJCWludF9mbGRb aV0gPSBzdHJ0b3VsKHN0cl9mbGRbaV0sICZlbmQsIDApOw0KPiA+ICsJCQlpZiAoZXJybm8gIT0g MCB8fCBlbmQgPT0gc3RyX2ZsZFtpXSB8fA0KPiA+ICsJCQkgICAgaW50X2ZsZFtpXSA+IFJURV9N QVhfRVRIUE9SVFMpDQo+IA0KPiBJIHRoaW5rIHRoaXMgY2hlY2sgc2hvdWxkIGJlID49LCBSVEVf TUFYX0VUSFBPUlRTIGlzIGFuIGludmFsaWQgcG9ydCBpZC4NCj4gDQo+ID4gKwkJCQlyZXR1cm4g LTE7DQo+ID4gKwkJfQ0KPiA+ICsJCWlmIChuYl9wb3J0X3BhaXJfcGFyYW1zID49IFJURV9NQVhf RVRIUE9SVFMvMikgew0KPiA+ICsJCQlwcmludGYoImV4Y2VlZGVkIG1heCBudW1iZXIgb2YgcG9y dCBwYWlyIHBhcmFtczoNCj4gJWh1XG4iLA0KPiA+ICsJCQkJbmJfcG9ydF9wYWlyX3BhcmFtcyk7 DQo+ID4gKwkJCXJldHVybiAtMTsNCj4gPiArCQl9DQo+ID4gKwkJcG9ydF9wYWlyX3BhcmFtc19h cnJheVtuYl9wb3J0X3BhaXJfcGFyYW1zXS5wb3J0WzBdID0NCj4gPiArCQkJCSh1aW50MTZfdClp bnRfZmxkW0ZMRF9QT1JUMV07DQo+ID4gKwkJcG9ydF9wYWlyX3BhcmFtc19hcnJheVtuYl9wb3J0 X3BhaXJfcGFyYW1zXS5wb3J0WzFdID0NCj4gPiArCQkJCSh1aW50MTZfdClpbnRfZmxkW0ZMRF9Q T1JUMl07DQo+ID4gKwkJKytuYl9wb3J0X3BhaXJfcGFyYW1zOw0KPiA+ICsJfQ0KPiA+ICsJcG9y dF9wYWlyX3BhcmFtcyA9IHBvcnRfcGFpcl9wYXJhbXNfYXJyYXk7DQo+ID4gKwlyZXR1cm4gMDsN Cj4gPiArfQ0KPiANCj4gWy4uLl0NCj4gDQo+ID4gQEAgLTU2NSwyNiArNjg2LDQwIEBAIG1haW4o aW50IGFyZ2MsIGNoYXIgKiphcmd2KQ0KPiA+ICAJCWwyZndkX2RzdF9wb3J0c1twb3J0aWRdID0g MDsNCj4gPiAgCWxhc3RfcG9ydCA9IDA7DQo+ID4NCj4gPiAtCS8qDQo+ID4gLQkgKiBFYWNoIGxv Z2ljYWwgY29yZSBpcyBhc3NpZ25lZCBhIGRlZGljYXRlZCBUWCBxdWV1ZSBvbiBlYWNoIHBvcnQu DQo+ID4gLQkgKi8NCj4gPiAtCVJURV9FVEhfRk9SRUFDSF9ERVYocG9ydGlkKSB7DQo+ID4gLQkJ Lyogc2tpcCBwb3J0cyB0aGF0IGFyZSBub3QgZW5hYmxlZCAqLw0KPiA+IC0JCWlmICgobDJmd2Rf ZW5hYmxlZF9wb3J0X21hc2sgJiAoMSA8PCBwb3J0aWQpKSA9PSAwKQ0KPiA+IC0JCQljb250aW51 ZTsNCj4gPiArCS8qIHBvcHVsYXRlIGRlc3RpbmF0aW9uIHBvcnQgZGV0YWlscyAqLw0KPiA+ICsJ aWYgKHBvcnRfcGFpcl9wYXJhbXMgIT0gTlVMTCkgew0KPiA+ICsJCXVpbnQxNl90IGlkeDsNCj4g PiArDQo+ID4gKwkJZm9yIChpZHggPSAwOyBpZHggPCAobmJfcG9ydF9wYWlyX3BhcmFtcyA8PCAx KTsgaWR4KyspIHsNCj4gPiArCQkJaWYgKGlkeCAlIDIgPT0gMCkgew0KPiA+ICsJCQkJcG9ydGlk ID0gcG9ydF9wYWlyX3BhcmFtc1tpZHggPj4gMV0ucG9ydFswXTsNCj4gPiArCQkJCWwyZndkX2Rz dF9wb3J0c1twb3J0aWRdID0NCj4gPiArCQkJCQlwb3J0X3BhaXJfcGFyYW1zW2lkeCA+PiAxXS5w b3J0WzFdOw0KPiA+ICsJCQl9IGVsc2Ugew0KPiA+ICsJCQkJcG9ydGlkID0gcG9ydF9wYWlyX3Bh cmFtc1tpZHggPj4gMV0ucG9ydFsxXTsNCj4gPiArCQkJCWwyZndkX2RzdF9wb3J0c1twb3J0aWRd ID0NCj4gPiArCQkJCQlwb3J0X3BhaXJfcGFyYW1zW2lkeCA+PiAxXS5wb3J0WzBdOw0KPiA+ICsJ CQl9DQo+IA0KPiBJIHRoaW5rIHRoaXMgY29uZGl0aW9uYWwgY2FuIGJlIHJlcGhyYXNlZCBsaWtl Og0KPiANCj4gCXVpbnQxNl90IGlkeCwgcDsNCj4gLi4uDQo+IAlwID0gaWR4ICYgMTsNCj4gCXBv cnRfaWQgPSBwb3J0X3BhaXJfcGFyYW1zW2lkeCA+PiAxXS5wb3J0W3BdOw0KPiAJbDJmd2RfZHN0 X3BvcnRzW3BvcnRfaWRdID0NCj4gCQlwb3J0X3BhaXJfcGFyYW1zW2lkeCA+PiAxXS5wb3J0W3Ag XiAxXTsNCj4gDQo+IGJ1dCBJJ20gbm90IHN1cmUgd2hpY2ggb25lIGlzIG1vcmUgcmVhZGFibGUg LSBJIGxlYXZlIHlvdSB0aGUgZGVjaXNpb24sICBmZWVsDQo+IGZyZWUgdG8gc2tpcCB0aGlzIGNv bW1lbnQgYWx0b2dldGhlciA6KS4NCj4gDQo+ID4gKwkJfQ0KPiA+ICsJfSBlbHNlIHsNCj4gPiAr CQlSVEVfRVRIX0ZPUkVBQ0hfREVWKHBvcnRpZCkgew0KPiA+ICsJCQkvKiBza2lwIHBvcnRzIHRo YXQgYXJlIG5vdCBlbmFibGVkICovDQo+ID4gKwkJCWlmICgobDJmd2RfZW5hYmxlZF9wb3J0X21h c2sgJiAoMSA8PCBwb3J0aWQpKSA9PSAwKQ0KPiA+ICsJCQkJY29udGludWU7DQo+ID4gKw0KPiA+ ICsJCQlpZiAobmJfcG9ydHNfaW5fbWFzayAlIDIpIHsNCj4gPiArCQkJCWwyZndkX2RzdF9wb3J0 c1twb3J0aWRdID0gbGFzdF9wb3J0Ow0KPiA+ICsJCQkJbDJmd2RfZHN0X3BvcnRzW2xhc3RfcG9y dF0gPSBwb3J0aWQ7DQo+ID4gKwkJCX0gZWxzZSB7DQo+ID4gKwkJCQlsYXN0X3BvcnQgPSBwb3J0 aWQ7DQo+ID4gKwkJCX0NCj4gPg0KPiA+ICsJCQluYl9wb3J0c19pbl9tYXNrKys7DQo+ID4gKwkJ fQ0KPiA+ICAJCWlmIChuYl9wb3J0c19pbl9tYXNrICUgMikgew0KPiA+IC0JCQlsMmZ3ZF9kc3Rf cG9ydHNbcG9ydGlkXSA9IGxhc3RfcG9ydDsNCj4gPiAtCQkJbDJmd2RfZHN0X3BvcnRzW2xhc3Rf cG9ydF0gPSBwb3J0aWQ7DQo+ID4gKwkJCXByaW50ZigiTm90aWNlOiBvZGQgbnVtYmVyIG9mIHBv cnRzIGluDQo+IHBvcnRtYXNrLlxuIik7DQo+ID4gKwkJCWwyZndkX2RzdF9wb3J0c1tsYXN0X3Bv cnRdID0gbGFzdF9wb3J0Ow0KPiA+ICAJCX0NCj4gPiAtCQllbHNlDQo+ID4gLQkJCWxhc3RfcG9y dCA9IHBvcnRpZDsNCj4gPiAtDQo+ID4gLQkJbmJfcG9ydHNfaW5fbWFzaysrOw0KPiA+IC0JfQ0K PiA+IC0JaWYgKG5iX3BvcnRzX2luX21hc2sgJSAyKSB7DQo+ID4gLQkJcHJpbnRmKCJOb3RpY2U6 IG9kZCBudW1iZXIgb2YgcG9ydHMgaW4gcG9ydG1hc2suXG4iKTsNCj4gPiAtCQlsMmZ3ZF9kc3Rf cG9ydHNbbGFzdF9wb3J0XSA9IGxhc3RfcG9ydDsNCj4gPiAgCX0NCj4gPg0KPiA+ICAJcnhfbGNv cmVfaWQgPSAwOw0KPiA+IEBAIC02MTMsNyArNzQ4LDggQEAgbWFpbihpbnQgYXJnYywgY2hhciAq KmFyZ3YpDQo+ID4NCj4gPiAgCQlxY29uZi0+cnhfcG9ydF9saXN0W3Fjb25mLT5uX3J4X3BvcnRd ID0gcG9ydGlkOw0KPiA+ICAJCXFjb25mLT5uX3J4X3BvcnQrKzsNCj4gPiAtCQlwcmludGYoIkxj b3JlICV1OiBSWCBwb3J0ICV1XG4iLCByeF9sY29yZV9pZCwgcG9ydGlkKTsNCj4gPiArCQlwcmlu dGYoIkxjb3JlICV1OiBSWCBwb3J0ICV1IFRYIHBvcnQgJXVcbiIsIHJ4X2xjb3JlX2lkLA0KPiA+ ICsJCSAgICAgICBwb3J0aWQsIGwyZndkX2RzdF9wb3J0c1twb3J0aWRdKTsNCj4gPiAgCX0NCj4g Pg0KPiA+ICAJbmJfbWJ1ZnMgPSBSVEVfTUFYKG5iX3BvcnRzICogKG5iX3J4ZCArIG5iX3R4ZCAr DQo+IE1BWF9QS1RfQlVSU1QgKw0KPiA+DQo+IA0KPiBBcGFydCBmcm9tIHRoZXNlIGNvbW1lbnRz Og0KPiANCj4gUmV2aWV3ZWQtYnk6IEFuZHJ6ZWogT3N0cnVzemthIDxhb3N0cnVzemthQG1hcnZl bGwuY29tPg0KPiANCj4gV2l0aCByZWdhcmRzDQo+IEFuZHJ6ZWogT3N0cnVzemthDQoNClRoYW5r cyBBbmRyemVqLA0KQWNrZWQgYWxsIHRoZSBjb21tZW50cyBpbiBWMi4NCg==