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 18CF7A0562; Fri, 3 Apr 2020 14:52:03 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 7197E1C18E; Fri, 3 Apr 2020 14:52:02 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id 8F1A11C112 for ; Fri, 3 Apr 2020 14:52:00 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 033CpxAl002577; Fri, 3 Apr 2020 05:51:59 -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-id : content-transfer-encoding : mime-version; s=pfpt0818; bh=DuqRXku9/eFlL9FmWc5UbthjS2iqtXt7K17I8w1JlUo=; b=wSRch4/3QYwP3dCTePeIDKHgrtmUqrjF/+hqtxqTfFH6X0APmKGHXZ704PqceYq5ZLOz 0TWr/FN8w/sFWIs8Q738JHL9SLT1kKv8sbGRMmE5D5Tkj7uN6uJdaWEgM1dbmoZD7ZOM CI1Rvoixfm+zJaR8TXWIR2YA789482rLiBvn5ek67o4XcleGeup1iDuJ3icPuZR6SDcl xx0xOOaZCad2lFceIwRoqhfhzQFmNbC6SVfUdHfjoTn4UiCQzCw9MPNZLHwQkKR8e4Il fDsq/vwbrN5yoi+VL0HcoY7eov2MjvCHHH/glY0s8hB9aveXgSdpCDO7k9nKO/VL7D+L iA== Received: from sc-exch02.marvell.com ([199.233.58.182]) by mx0b-0016f401.pphosted.com with ESMTP id 3046h66x67-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Fri, 03 Apr 2020 05:51:59 -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; Fri, 3 Apr 2020 05:51:57 -0700 Received: from SC-EXCH02.marvell.com (10.93.176.82) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 3 Apr 2020 05:51:56 -0700 Received: from NAM04-SN1-obe.outbound.protection.outlook.com (104.47.44.50) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Fri, 3 Apr 2020 05:51:56 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WenSgu/j/slbLaF0D/rf26WU0nMF/9wDZIaIQWOlZAqfyKASZYj+dX9hh4ML9gvi1JgO4gOvRGsJ2HXMeNYpTFT98kR5edLNoRpzosTsn0UbywfdWOHD8ih1sY2hOEnZhB6neaGp63j19iv2R0XAKkKTC1kwuV+gqTMeu9LZsdFyKXgzRXn1Iu+ka6JO8xXFwILuc4woMzs6kpMIVgHcye4Q8S53eAfS9zZtVlYK0xT8veky7nZhfrNeS44/0qMARbZFS0TgI4JO8gWxwnwpwXGImwf+dnlPhh1XvsZnuVK00VjRfCUdKJ2CVvXW+odRyBPJ7r11LJMp3fG9AZ+IYw== 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=DuqRXku9/eFlL9FmWc5UbthjS2iqtXt7K17I8w1JlUo=; b=hF9FMHPYCaNwLpWARwSR0gzxiqA2+7oHV1vNw4XgMiYBduidV97ZKOEfzXpCOBgZWs33w7VmFRjdYhJZgHx3VQNPtzfijwknsttvNRDLHRlGiFmhugmtZMnXCxibLNZ+SNaVNbVklRRlIisQunfWVdo95PDykAA/y5nwIgwt281YjTY9WnKoeA7CuZL4qs3oE9x2nZPEibRYhRxoMLgtCwQaG2L7UGxYdDEiALKtFbWfE4wB88xvFYQQZfu1duGGxXAryfLS4eWjYLPprPHDLL6Y8FYoZsPck3tFZS3eK4g9Z1BfYmPY5IDWVkgOgUYsiokKW+Iba2MvK5cYrjlwEw== 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=DuqRXku9/eFlL9FmWc5UbthjS2iqtXt7K17I8w1JlUo=; b=YBjrKBpf/sNREHWPXUsct5I7FcTk2MSQHmhrXQL2RUHx4vS9M3UWyzJofS+slc4cCqb3WXQo6qeX+n5EF4uJOJSwmVS/8wptztXMMTD9DRkruXsd+iSW4qCiFhmlIk1f55bQquDMeSLp3XB78NRFwnF2FYctppkBfjWsZSpzZjc= Received: from DM6PR18MB3004.namprd18.prod.outlook.com (2603:10b6:5:18c::18) by DM6PR18MB3386.namprd18.prod.outlook.com (2603:10b6:5:1c2::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2878.19; Fri, 3 Apr 2020 12:51:54 +0000 Received: from DM6PR18MB3004.namprd18.prod.outlook.com ([fe80::d5ea:e0a6:a026:2d46]) by DM6PR18MB3004.namprd18.prod.outlook.com ([fe80::d5ea:e0a6:a026:2d46%5]) with mapi id 15.20.2878.018; Fri, 3 Apr 2020 12:51:53 +0000 From: "Andrzej Ostruszka [C]" To: Vamsi Krishna Attunuru , "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: AQHWCWhFvysy+OQXCEe/RF+jmxKbK6hnWnoA Date: Fri, 3 Apr 2020 12:51:53 +0000 Message-ID: <829338ed-51e8-f045-8b5b-0e39a19504b3@marvell.com> References: <20200403033013.4842-1-vattunuru@marvell.com> In-Reply-To: <20200403033013.4842-1-vattunuru@marvell.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [5.173.41.10] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d7a97553-87c1-45b3-8e5f-08d7d7cdc92a x-ms-traffictypediagnostic: DM6PR18MB3386: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:298; x-forefront-prvs: 0362BF9FDB x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR18MB3004.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(10009020)(4636009)(346002)(376002)(39850400004)(136003)(396003)(366004)(2616005)(6512007)(6486002)(54906003)(66446008)(64756008)(66556008)(91956017)(76116006)(5660300002)(53546011)(6506007)(2906002)(66946007)(66476007)(31686004)(71200400001)(8676002)(81156014)(81166006)(8936002)(4326008)(36756003)(316002)(186003)(478600001)(110136005)(31696002)(86362001)(26005); 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: 6XaY/gNRWQyJNXwpYhE9/Rqldo5LJLTuUFl1aGSVD7CFVLky0HfruWpHHZ+n2rCHzI8YjmmRy+D//Lr+lx6PRMFgwdp0B55wuL1I+szJHYSoYAtVcn7d83JNJvpsbNab+dITL6cSz5GxwCWy9gtBGZ5wbbv/Y8hUlKB57sj7tAyYAErOxtIubxhX7sAZi1Ht87MqNgfVPAnaebgvBH0u/JcM9H5cK+sTKNxS91898ysRa8Kr7KZkZp0n0fIJ2MC3nn0oiGKTDGE8aV6MHBZwee48XTYZxyy9B0zCIR9E37qgHgUIwOVgd5w+I/vVialS1ZgVWrrTELwbz2vfA8gQ6VhBZpb2k/Dj3NCqdp3y/tM6B50LFU9xGQkKQMa1n9Xg1NT6iwSD4vvUSEz8SgnyQcrr47Ms7Is9sFaIUdIVsFg0OQkdEEjz12MYggrMW8ak x-ms-exchange-antispam-messagedata: C7zDktV+QCBo8nmJjj6P2SuJKb7H81C/AXid7D7jlpBp+ObpkNDIF1bTweJqAFPQHRBTtd+h9tjptGzmDNzF34o7QVzhxO8o6+8lHZVUlk6Q/NaV+Go9r1FM8BceKl2NCxMX0CaVtyTvbnVdjhNHBA== Content-Type: text/plain; charset="utf-8" Content-ID: <6D04FF57A230F0408B542F655E67679D@namprd18.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: d7a97553-87c1-45b3-8e5f-08d7d7cdc92a X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Apr 2020 12:51:53.7422 (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: ym4z0Lg6EJO2mi1Piu1dSi2cDeXahiwIXzW6XXKk/hCPlGwu7cVE1k1eoP/WtWIQg/r8z+DnP0Tc6yaMjngY5g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR18MB3386 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.676 definitions=2020-04-03_09:2020-04-03, 2020-04-03 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" T24gNC8zLzIwIDU6MzAgQU0sIHZhdHR1bnVydUBtYXJ2ZWxsLmNvbSB3cm90ZToNCj4gRnJvbTog VmFtc2kgQXR0dW51cnUgPHZhdHR1bnVydUBtYXJ2ZWxsLmNvbT4NCj4gDQo+IEN1cnJlbnQgbDJm d2QgYXBwbGljYXRpb24gY29uZmlndXJlcyBhZGphY2VudCBwb3J0cyBhcyBkZXN0aW5hdGlvbg0K PiBwb3J0cyBmb3IgZm9yd2FyZGluZyB0aGUgdHJhZmZpYyB3aGljaCBpcyBhIGtpbmQgb2Ygc3Rh dGljIG1hcHBpbmcNCj4gdGhhdCBjYW4gbm90IGJlIGFsdGVyZWQgYnkgdGhlIGNvbW1hbmQgbGlu ZSBvcHRpb25zLg0KPiANCj4gUGF0Y2ggYWRkcyBhIGNvbmZpZyBvcHRpb24gdG8gcGFzcyB0aGUg Zm9yd2FyZGluZyBwb3J0IHBhaXIgbWFwcGluZw0KPiBhcyBhIGNvbW1hbmQgbGluZSBwYXJhbWV0 ZXIgd2hpY2ggYWxsb3dzIHRoZSB1c2VyIHRvIHBhc3MgcmVxdWlyZWQNCj4gZm9yd2FyZGluZyBw b3J0IG1hcHBpbmcuDQo+IA0KPiBJZiBubyBjb25maWcgYXJndW1lbnQgaXMgc3BlY2lmaWVkLCBk ZXN0aW5hdGlvbiBwb3J0IG1hcCBpcyBub3QNCj4gY2hhbmdlZCBhbmQgdHJhZmZpYyBnZXRzIGZv cndhcmRlZCB3aXRoIGV4aXN0aW5nIG1hcHBpbmcuDQo+IA0KPiBXaGVuIHBvcnQgcGFpciBtYXBw aW5nIGlzIHBhc3NlZCBpbiBjb25maWcgb3B0aW9uLCBkZXN0aW5hdGlvbiBwb3J0IG1hcA0KPiBp cyBjb25maWd1cmVkIGFuZCB0cmFmZmljIGdldHMgZm9yd2FyZGVkIGFjY29yZGluZ2x5Lg0KPiAN Cj4gRXg6IC4vbDJmd2QgLWMgMHhmZiAtLSAtcCAweDNmIC0tY29uZmlnPSIoMCwzKSgxLDQpKDIs NSkiDQo+IA0KPiBXaXRoIGFib3ZlIGNvbmZpZyBvcHRpb24sIHRyYWZmaWMgcmVjZWl2ZWQgZnJv bSBwb3J0aWQgPSAwIGdldHMgZm9yd2FyZGVkDQo+IHRvIHBvcnQgPSAzIGFuZCB2aWNlIHZlcnNh LCBzaW1pbGFybHkgdHJhZmZpYyBnZXRzIGZvcndhcmRlZCBvbiBvdGhlciBwb3J0DQo+IHBhaXJz ICgxLDQpIGFuZCAoMiw1KS4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IFZhbXNpIEF0dHVudXJ1IDx2 YXR0dW51cnVAbWFydmVsbC5jb20+DQo+IC0tLQ0KPiAgZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVs ZWFzZV8yMF8wNS5yc3QgICAgICAgICAgICAgfCAgIDYgKw0KPiAgLi4uL3NhbXBsZV9hcHBfdWcv bDJfZm9yd2FyZF9yZWFsX3ZpcnR1YWwucnN0ICAgICAgfCAgMTggKystDQo+ICBleGFtcGxlcy9s MmZ3ZC9tYWluLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDE3NCArKysrKysrKysr KysrKysrKystLS0NCj4gIDMgZmlsZXMgY2hhbmdlZCwgMTc3IGluc2VydGlvbnMoKyksIDIxIGRl bGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVh c2VfMjBfMDUucnN0IGIvZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yMF8wNS5yc3QNCj4g aW5kZXggMDAwYmJmNS4uNjQ1NDAwYiAxMDA2NDQNCj4gLS0tIGEvZG9jL2d1aWRlcy9yZWxfbm90 ZXMvcmVsZWFzZV8yMF8wNS5yc3QNCj4gKysrIGIvZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFz ZV8yMF8wNS5yc3QNCj4gQEAgLTYyLDYgKzYyLDEyIEBAIE5ldyBGZWF0dXJlcw0KPiAgDQo+ICAg ICogQWRkZWQgc3VwcG9ydCBmb3IgbWF0Y2hpbmcgb24gSVB2NCBUaW1lIFRvIExpdmUgYW5kIElQ djYgSG9wIExpbWl0Lg0KPiAgDQo+ICsqICoqQWRkZWQgLS1jb25maWcgY29tbWFuZCBsaW5lIHBh cmFtZXRlciB0byBsMmZ3ZCBleGFtcGxlLioqDQo+ICsNCj4gKyAgQWRkZWQgbmV3IGNvbW1hbmQg bGluZSBvcHRpb24gYGAtLWNvbmZpZyhwb3J0LCBwb3J0KVssKHBvcnQsIHBvcnQpXWBgIHRvDQoN Ck1heWJlIHVzZSB0aGUgYWN0dWFsIHN5bnRheCB3aXRoICc9JyBvciBzcGFjZSBhZnRlciAnY29u ZmlnJz8NCg0KPiArICBwYXNzIGZvcndhcmRpbmcgcG9ydCBkZXRhaWxzLg0KPiArICBTZWUgdGhl IDpkb2M6YGRvYy9ndWlkZXMvc2FtcGxlX2FwcF91Zy9sMl9mb3J3YXJkX3JlYWxfdmlydHVhbGAg Zm9yIG1vcmUNCj4gKyAgZGV0YWlscyBvZiB0aGlzIHBhcmFtZXRlciB1c2FnZS4NCj4gIA0KPiAg UmVtb3ZlZCBJdGVtcw0KPiAgLS0tLS0tLS0tLS0tLQ0KPiBkaWZmIC0tZ2l0IGEvZG9jL2d1aWRl cy9zYW1wbGVfYXBwX3VnL2wyX2ZvcndhcmRfcmVhbF92aXJ0dWFsLnJzdCBiL2RvYy9ndWlkZXMv c2FtcGxlX2FwcF91Zy9sMl9mb3J3YXJkX3JlYWxfdmlydHVhbC5yc3QNCj4gaW5kZXggMzlkNmIw MC4uZTcwOGY4OCAxMDA2NDQNCj4gLS0tIGEvZG9jL2d1aWRlcy9zYW1wbGVfYXBwX3VnL2wyX2Zv cndhcmRfcmVhbF92aXJ0dWFsLnJzdA0KPiArKysgYi9kb2MvZ3VpZGVzL3NhbXBsZV9hcHBfdWcv bDJfZm9yd2FyZF9yZWFsX3ZpcnR1YWwucnN0DQo+IEBAIC05MSw3ICs5MSwxMCBAQCBUaGUgYXBw bGljYXRpb24gcmVxdWlyZXMgYSBudW1iZXIgb2YgY29tbWFuZCBsaW5lIG9wdGlvbnM6DQo+ICAN Cj4gIC4uIGNvZGUtYmxvY2s6OiBjb25zb2xlDQo+ICANCj4gLSAgICAuL2J1aWxkL2wyZndkIFtF QUwgb3B0aW9uc10gLS0gLXAgUE9SVE1BU0sgWy1xIE5RXSAtLVtuby1dbWFjLXVwZGF0aW5nDQo+ ICsgICAgLi9idWlsZC9sMmZ3ZCBbRUFMIG9wdGlvbnNdIC0tIC1wIFBPUlRNQVNLDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFstcSBOUV0NCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLS1bbm8tXW1hYy11cGRhdGluZw0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAtLWNvbmZpZyhwb3J0LCBwb3J0KVssKHBvcnQsIHBvcnQp XQ0KDQpEaXR0bw0KDQo+ICANCj4gIHdoZXJlLA0KPiAgDQo+IEBAIC05OSw3ICsxMDIsMTAgQEAg d2hlcmUsDQo+ICANCj4gICogICBxIE5ROiBBIG51bWJlciBvZiBxdWV1ZXMgKD1wb3J0cykgcGVy IGxjb3JlIChkZWZhdWx0IGlzIDEpDQo+ICANCj4gLSogICAtLVtuby1dbWFjLXVwZGF0aW5nOiBF bmFibGUgb3IgZGlzYWJsZSBNQUMgYWRkcmVzc2VzIHVwZGF0aW5nIChlbmFibGVkIGJ5IGRlZmF1 bHQpLg0KPiArKiAgIC0tW25vLV1tYWMtdXBkYXRpbmc6IEVuYWJsZSBvciBkaXNhYmxlIE1BQyBh ZGRyZXNzZXMgdXBkYXRpbmcgKGVuYWJsZWQgYnkgZGVmYXVsdCkNCj4gKw0KPiArKiAgIC0tY29u ZmlnKHBvcnQscG9ydClbLChwb3J0LHBvcnQpXTogRGV0ZXJtaW5lcyB3aGljaCBwb3J0cyBhcmUg bWFwcGVkIHRvDQo+ICsgICAgd2hpY2ggcG9ydHMgZm9yIHBhY2tldCBmb3J3YXJkaW5nLg0KDQpE aXR0bw0KDQo+ICANCj4gIFRvIHJ1biB0aGUgYXBwbGljYXRpb24gaW4gbGludXggZW52aXJvbm1l bnQgd2l0aCA0IGxjb3JlcywgMTYgcG9ydHMgYW5kIDggUlggcXVldWVzIHBlciBsY29yZSBhbmQg TUFDIGFkZHJlc3MNCj4gIHVwZGF0aW5nIGVuYWJsZWQsIGlzc3VlIHRoZSBjb21tYW5kOg0KPiBA QCAtMTA4LDYgKzExNCwxNCBAQCB1cGRhdGluZyBlbmFibGVkLCBpc3N1ZSB0aGUgY29tbWFuZDoN Cj4gIA0KPiAgICAgICQgLi9idWlsZC9sMmZ3ZCAtbCAwLTMgLW4gNCAtLSAtcSA4IC1wIGZmZmYN Cj4gIA0KPiArVG8gcnVuIHRoZSBhcHBsaWNhdGlvbiBpbiBsaW51eCBlbnZpcm9ubWVudCB3aXRo IDQgbGNvcmVzLCA0IHBvcnRzLCA4IFJYIHF1ZXVlcw0KPiArcGVyIGxjb3JlIGFuZCBNQUMgYWRk cmVzcyB1cGRhdGluZyBlbmFibGVkLCB0byBmb3J3YXJkIFJYIHRyYWZmaWMgb2YgcG9ydHMgMCAm IDENCj4gK29uIHBvcnRzIDIgJiAzIHJlc3BlY3RpdmVseSBhbmQgdmljZSB2ZXJzYSwgaXNzdWUg dGhlIGNvbW1hbmQ6DQo+ICsNCj4gKy4uIGNvZGUtYmxvY2s6OiBjb25zb2xlDQo+ICsNCj4gKyAg ICAkIC4vYnVpbGQvbDJmd2QgLWwgMC0zIC1uIDQgLS0gLXEgOCAtcCBmIC0tY29uZmlnPSIoMCwy KSgxLDMpIg0KPiArDQo+ICBSZWZlciB0byB0aGUgKkRQREsgR2V0dGluZyBTdGFydGVkIEd1aWRl KiBmb3IgZ2VuZXJhbCBpbmZvcm1hdGlvbiBvbiBydW5uaW5nIGFwcGxpY2F0aW9ucw0KPiAgYW5k IHRoZSBFbnZpcm9ubWVudCBBYnN0cmFjdGlvbiBMYXllciAoRUFMKSBvcHRpb25zLg0KPiAgDQo+ IGRpZmYgLS1naXQgYS9leGFtcGxlcy9sMmZ3ZC9tYWluLmMgYi9leGFtcGxlcy9sMmZ3ZC9tYWlu LmMNCj4gaW5kZXggMDkyNTdhYS4uYThiOThiOSAxMDA2NDQNCj4gLS0tIGEvZXhhbXBsZXMvbDJm d2QvbWFpbi5jDQo+ICsrKyBiL2V4YW1wbGVzL2wyZndkL21haW4uYw0KPiBAQCAtMzgsNiArMzgs NyBAQA0KPiAgI2luY2x1ZGUgPHJ0ZV9ldGhkZXYuaD4NCj4gICNpbmNsdWRlIDxydGVfbWVtcG9v bC5oPg0KPiAgI2luY2x1ZGUgPHJ0ZV9tYnVmLmg+DQo+ICsjaW5jbHVkZSA8cnRlX3N0cmluZ19m bnMuaD4NCj4gIA0KPiAgc3RhdGljIHZvbGF0aWxlIGJvb2wgZm9yY2VfcXVpdDsNCj4gIA0KPiBA QCAtNjcsNiArNjgsMTUgQEAgc3RhdGljIHVpbnQzMl90IGwyZndkX2VuYWJsZWRfcG9ydF9tYXNr ID0gMDsNCj4gIC8qIGxpc3Qgb2YgZW5hYmxlZCBwb3J0cyAqLw0KPiAgc3RhdGljIHVpbnQzMl90 IGwyZndkX2RzdF9wb3J0c1tSVEVfTUFYX0VUSFBPUlRTXTsNCj4gIA0KPiArc3RydWN0IHBvcnRf cGFpcl9wYXJhbXMgew0KPiArI2RlZmluZSBOVU1fUE9SVFMJMg0KPiArCXVpbnQxNl90IHBvcnRb TlVNX1BPUlRTXTsNCj4gK30gX19ydGVfY2FjaGVfYWxpZ25lZDsNCj4gKw0KPiArc3RhdGljIHN0 cnVjdCBwb3J0X3BhaXJfcGFyYW1zIHBvcnRfcGFpcl9wYXJhbXNfYXJyYXlbUlRFX01BWF9FVEhQ T1JUU107DQo+ICtzdGF0aWMgc3RydWN0IHBvcnRfcGFpcl9wYXJhbXMgKnBvcnRfcGFpcl9wYXJh bXM7DQo+ICtzdGF0aWMgdWludDE2X3QgbmJfcG9ydF9wYWlyX3BhcmFtcyA9IDE7DQoNCldoeSB0 aGlzIGluaXRpYWxpemF0aW9uIHRvIDE/ICBCZWxvdyAoZHVyaW5nIHBhcnNpbmcpIGl0IGlzIGlu aXRpYWxpemVkDQp0byAwLCBzbyBJIHdvdWxkIGxlYXZlIHRoaXMgZGVmYXVsdCBpbml0aWFsaXpl ZC4NCg0KPiArDQo+ICBzdGF0aWMgdW5zaWduZWQgaW50IGwyZndkX3J4X3F1ZXVlX3Blcl9sY29y ZSA9IDE7DQo+ICANCj4gICNkZWZpbmUgTUFYX1JYX1FVRVVFX1BFUl9MQ09SRSAxNg0KPiBAQCAt MzE5LDYgKzMyOSw2MCBAQCBsMmZ3ZF9wYXJzZV9wb3J0bWFzayhjb25zdCBjaGFyICpwb3J0bWFz aykNCj4gIAlyZXR1cm4gcG07DQo+ICB9DQo+ICANCj4gK3N0YXRpYyBpbnQNCj4gK2wyZndkX3Bh cnNlX3BvcnRfcGFpcl9jb25maWcoY29uc3QgY2hhciAqcV9hcmcpDQo+ICt7DQo+ICsJZW51bSBm aWVsZG5hbWVzIHsNCj4gKwkJRkxEX1BPUlQxID0gMCwNCj4gKwkJRkxEX1BPUlQyLA0KPiArCQlf TlVNX0ZMRA0KPiArCX07DQo+ICsJdW5zaWduZWQgbG9uZyBpbnRfZmxkW19OVU1fRkxEXTsNCj4g Kwljb25zdCBjaGFyICpwLCAqcDAgPSBxX2FyZzsNCj4gKwljaGFyICpzdHJfZmxkW19OVU1fRkxE XTsNCj4gKwl1bnNpZ25lZCBpbnQgc2l6ZTsNCj4gKwljaGFyIHNbMjU2XTsNCj4gKwljaGFyICpl bmQ7DQo+ICsJaW50IGk7DQo+ICsNCj4gKwluYl9wb3J0X3BhaXJfcGFyYW1zID0gMDsNCj4gKw0K PiArCXdoaWxlICgocCA9IHN0cmNocihwMCwgJygnKSkgIT0gTlVMTCkgew0KPiArCQkrK3A7DQo+ ICsJCXAwID0gc3RyY2hyKHAsICcpJyk7DQo+ICsJCWlmIChwMCA9PSBOVUxMKQ0KPiArCQkJcmV0 dXJuIC0xOw0KPiArDQo+ICsJCXNpemUgPSBwMCAtIHA7DQo+ICsJCWlmIChzaXplID49IHNpemVv ZihzKSkNCj4gKwkJCXJldHVybiAtMTsNCj4gKw0KPiArCQlzbnByaW50ZihzLCBzaXplb2Yocyks ICIlLipzIiwgc2l6ZSwgcCk7DQoNClNhbWUgY29tbWVudCBhcyBmb3IgcmVjZW50IGwyZndkLWV2 ZW50IC0gdGhpcyBjYW4gYmUgc2ltcGxlIG1lbWNweS4NCg0KPiArCQlpZiAocnRlX3N0cnNwbGl0 KHMsIHNpemVvZihzKSwgc3RyX2ZsZCwNCj4gKwkJCQkgX05VTV9GTEQsICcsJykgIT0gX05VTV9G TEQpDQo+ICsJCQlyZXR1cm4gLTE7DQo+ICsJCWZvciAoaSA9IDA7IGkgPCBfTlVNX0ZMRDsgaSsr KSB7DQo+ICsJCQllcnJubyA9IDA7DQo+ICsJCQlpbnRfZmxkW2ldID0gc3RydG91bChzdHJfZmxk W2ldLCAmZW5kLCAwKTsNCj4gKwkJCWlmIChlcnJubyAhPSAwIHx8IGVuZCA9PSBzdHJfZmxkW2ld IHx8DQo+ICsJCQkgICAgaW50X2ZsZFtpXSA+IFJURV9NQVhfRVRIUE9SVFMpDQoNCkkgdGhpbmsg dGhpcyBjaGVjayBzaG91bGQgYmUgPj0sIFJURV9NQVhfRVRIUE9SVFMgaXMgYW4gaW52YWxpZCBw b3J0IGlkLg0KDQo+ICsJCQkJcmV0dXJuIC0xOw0KPiArCQl9DQo+ICsJCWlmIChuYl9wb3J0X3Bh aXJfcGFyYW1zID49IFJURV9NQVhfRVRIUE9SVFMvMikgew0KPiArCQkJcHJpbnRmKCJleGNlZWRl ZCBtYXggbnVtYmVyIG9mIHBvcnQgcGFpciBwYXJhbXM6ICVodVxuIiwNCj4gKwkJCQluYl9wb3J0 X3BhaXJfcGFyYW1zKTsNCj4gKwkJCXJldHVybiAtMTsNCj4gKwkJfQ0KPiArCQlwb3J0X3BhaXJf cGFyYW1zX2FycmF5W25iX3BvcnRfcGFpcl9wYXJhbXNdLnBvcnRbMF0gPQ0KPiArCQkJCSh1aW50 MTZfdClpbnRfZmxkW0ZMRF9QT1JUMV07DQo+ICsJCXBvcnRfcGFpcl9wYXJhbXNfYXJyYXlbbmJf cG9ydF9wYWlyX3BhcmFtc10ucG9ydFsxXSA9DQo+ICsJCQkJKHVpbnQxNl90KWludF9mbGRbRkxE X1BPUlQyXTsNCj4gKwkJKytuYl9wb3J0X3BhaXJfcGFyYW1zOw0KPiArCX0NCj4gKwlwb3J0X3Bh aXJfcGFyYW1zID0gcG9ydF9wYWlyX3BhcmFtc19hcnJheTsNCj4gKwlyZXR1cm4gMDsNCj4gK30N Cg0KWy4uLl0NCg0KPiBAQCAtNTY1LDI2ICs2ODYsNDAgQEAgbWFpbihpbnQgYXJnYywgY2hhciAq KmFyZ3YpDQo+ICAJCWwyZndkX2RzdF9wb3J0c1twb3J0aWRdID0gMDsNCj4gIAlsYXN0X3BvcnQg PSAwOw0KPiAgDQo+IC0JLyoNCj4gLQkgKiBFYWNoIGxvZ2ljYWwgY29yZSBpcyBhc3NpZ25lZCBh IGRlZGljYXRlZCBUWCBxdWV1ZSBvbiBlYWNoIHBvcnQuDQo+IC0JICovDQo+IC0JUlRFX0VUSF9G T1JFQUNIX0RFVihwb3J0aWQpIHsNCj4gLQkJLyogc2tpcCBwb3J0cyB0aGF0IGFyZSBub3QgZW5h YmxlZCAqLw0KPiAtCQlpZiAoKGwyZndkX2VuYWJsZWRfcG9ydF9tYXNrICYgKDEgPDwgcG9ydGlk KSkgPT0gMCkNCj4gLQkJCWNvbnRpbnVlOw0KPiArCS8qIHBvcHVsYXRlIGRlc3RpbmF0aW9uIHBv cnQgZGV0YWlscyAqLw0KPiArCWlmIChwb3J0X3BhaXJfcGFyYW1zICE9IE5VTEwpIHsNCj4gKwkJ dWludDE2X3QgaWR4Ow0KPiArDQo+ICsJCWZvciAoaWR4ID0gMDsgaWR4IDwgKG5iX3BvcnRfcGFp cl9wYXJhbXMgPDwgMSk7IGlkeCsrKSB7DQo+ICsJCQlpZiAoaWR4ICUgMiA9PSAwKSB7DQo+ICsJ CQkJcG9ydGlkID0gcG9ydF9wYWlyX3BhcmFtc1tpZHggPj4gMV0ucG9ydFswXTsNCj4gKwkJCQls MmZ3ZF9kc3RfcG9ydHNbcG9ydGlkXSA9DQo+ICsJCQkJCXBvcnRfcGFpcl9wYXJhbXNbaWR4ID4+ IDFdLnBvcnRbMV07DQo+ICsJCQl9IGVsc2Ugew0KPiArCQkJCXBvcnRpZCA9IHBvcnRfcGFpcl9w YXJhbXNbaWR4ID4+IDFdLnBvcnRbMV07DQo+ICsJCQkJbDJmd2RfZHN0X3BvcnRzW3BvcnRpZF0g PQ0KPiArCQkJCQlwb3J0X3BhaXJfcGFyYW1zW2lkeCA+PiAxXS5wb3J0WzBdOw0KPiArCQkJfQ0K DQpJIHRoaW5rIHRoaXMgY29uZGl0aW9uYWwgY2FuIGJlIHJlcGhyYXNlZCBsaWtlOg0KDQoJdWlu dDE2X3QgaWR4LCBwOw0KLi4uDQoJcCA9IGlkeCAmIDE7DQoJcG9ydF9pZCA9IHBvcnRfcGFpcl9w YXJhbXNbaWR4ID4+IDFdLnBvcnRbcF07DQoJbDJmd2RfZHN0X3BvcnRzW3BvcnRfaWRdID0NCgkJ cG9ydF9wYWlyX3BhcmFtc1tpZHggPj4gMV0ucG9ydFtwIF4gMV07DQoNCmJ1dCBJJ20gbm90IHN1 cmUgd2hpY2ggb25lIGlzIG1vcmUgcmVhZGFibGUgLSBJIGxlYXZlIHlvdSB0aGUgZGVjaXNpb24s DQogZmVlbCBmcmVlIHRvIHNraXAgdGhpcyBjb21tZW50IGFsdG9nZXRoZXIgOikuDQoNCj4gKwkJ fQ0KPiArCX0gZWxzZSB7DQo+ICsJCVJURV9FVEhfRk9SRUFDSF9ERVYocG9ydGlkKSB7DQo+ICsJ CQkvKiBza2lwIHBvcnRzIHRoYXQgYXJlIG5vdCBlbmFibGVkICovDQo+ICsJCQlpZiAoKGwyZndk X2VuYWJsZWRfcG9ydF9tYXNrICYgKDEgPDwgcG9ydGlkKSkgPT0gMCkNCj4gKwkJCQljb250aW51 ZTsNCj4gKw0KPiArCQkJaWYgKG5iX3BvcnRzX2luX21hc2sgJSAyKSB7DQo+ICsJCQkJbDJmd2Rf ZHN0X3BvcnRzW3BvcnRpZF0gPSBsYXN0X3BvcnQ7DQo+ICsJCQkJbDJmd2RfZHN0X3BvcnRzW2xh c3RfcG9ydF0gPSBwb3J0aWQ7DQo+ICsJCQl9IGVsc2Ugew0KPiArCQkJCWxhc3RfcG9ydCA9IHBv cnRpZDsNCj4gKwkJCX0NCj4gIA0KPiArCQkJbmJfcG9ydHNfaW5fbWFzaysrOw0KPiArCQl9DQo+ ICAJCWlmIChuYl9wb3J0c19pbl9tYXNrICUgMikgew0KPiAtCQkJbDJmd2RfZHN0X3BvcnRzW3Bv cnRpZF0gPSBsYXN0X3BvcnQ7DQo+IC0JCQlsMmZ3ZF9kc3RfcG9ydHNbbGFzdF9wb3J0XSA9IHBv cnRpZDsNCj4gKwkJCXByaW50ZigiTm90aWNlOiBvZGQgbnVtYmVyIG9mIHBvcnRzIGluIHBvcnRt YXNrLlxuIik7DQo+ICsJCQlsMmZ3ZF9kc3RfcG9ydHNbbGFzdF9wb3J0XSA9IGxhc3RfcG9ydDsN Cj4gIAkJfQ0KPiAtCQllbHNlDQo+IC0JCQlsYXN0X3BvcnQgPSBwb3J0aWQ7DQo+IC0NCj4gLQkJ bmJfcG9ydHNfaW5fbWFzaysrOw0KPiAtCX0NCj4gLQlpZiAobmJfcG9ydHNfaW5fbWFzayAlIDIp IHsNCj4gLQkJcHJpbnRmKCJOb3RpY2U6IG9kZCBudW1iZXIgb2YgcG9ydHMgaW4gcG9ydG1hc2su XG4iKTsNCj4gLQkJbDJmd2RfZHN0X3BvcnRzW2xhc3RfcG9ydF0gPSBsYXN0X3BvcnQ7DQo+ICAJ fQ0KPiAgDQo+ICAJcnhfbGNvcmVfaWQgPSAwOw0KPiBAQCAtNjEzLDcgKzc0OCw4IEBAIG1haW4o aW50IGFyZ2MsIGNoYXIgKiphcmd2KQ0KPiAgDQo+ICAJCXFjb25mLT5yeF9wb3J0X2xpc3RbcWNv bmYtPm5fcnhfcG9ydF0gPSBwb3J0aWQ7DQo+ICAJCXFjb25mLT5uX3J4X3BvcnQrKzsNCj4gLQkJ cHJpbnRmKCJMY29yZSAldTogUlggcG9ydCAldVxuIiwgcnhfbGNvcmVfaWQsIHBvcnRpZCk7DQo+ ICsJCXByaW50ZigiTGNvcmUgJXU6IFJYIHBvcnQgJXUgVFggcG9ydCAldVxuIiwgcnhfbGNvcmVf aWQsDQo+ICsJCSAgICAgICBwb3J0aWQsIGwyZndkX2RzdF9wb3J0c1twb3J0aWRdKTsNCj4gIAl9 DQo+ICANCj4gIAluYl9tYnVmcyA9IFJURV9NQVgobmJfcG9ydHMgKiAobmJfcnhkICsgbmJfdHhk ICsgTUFYX1BLVF9CVVJTVCArDQo+IA0KDQpBcGFydCBmcm9tIHRoZXNlIGNvbW1lbnRzOg0KDQpS ZXZpZXdlZC1ieTogQW5kcnplaiBPc3RydXN6a2EgPGFvc3RydXN6a2FAbWFydmVsbC5jb20+DQoN CldpdGggcmVnYXJkcw0KQW5kcnplaiBPc3RydXN6a2ENCg==