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 ABE7AA04BC; Sun, 27 Sep 2020 07:57:12 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 697D91BCD1; Sun, 27 Sep 2020 07:57:11 +0200 (CEST) Received: from m1326.mail.163.com (m1326.mail.163.com [220.181.13.26]) by dpdk.org (Postfix) with ESMTP id 3CC4C1BCA2 for ; Sun, 27 Sep 2020 07:57:08 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=Date:From:Subject:MIME-Version:Message-ID; bh=6ONcR ljWiA+YdxhfsR0eVB2wv8jGz38yrQsCLDOwnb0=; b=NlDu2JLhISSJxsCESVKVy XkzCRM44xeyNRmckD21QCdzRx1I47c/JO8gBLMMQ2BMCtdJWkzNr1Ify1ZO6q/Cs 1bephhG3bs1TdqPPNkw2Mg45SnfHWh5URsh+ZtwIQvS8R2B9xm+8pgLl0p4W2gaL gvfd4aBtJUWrcUzh3/rfMk= Received: from yang_y_yi$163.com ( [111.207.123.58] ) by ajax-webmail-wmsvr26 (Coremail) ; Sun, 27 Sep 2020 13:57:03 +0800 (CST) X-Originating-IP: [111.207.123.58] Date: Sun, 27 Sep 2020 13:57:03 +0800 (CST) From: yang_y_yi To: dev@dpdk.org Cc: jiayu.hu@intel.com, thomas@monjalon.net, yangyi01@inspur.com X-Priority: 1 X-Mailer: Coremail Webmail Server Version XT5.0.10 build 20190724(ac680a23) Copyright (c) 2002-2020 www.mailtech.cn 163com In-Reply-To: <20200701064643.216084-1-yang_y_yi@163.com> References: <20200701064643.216084-1-yang_y_yi@163.com> X-CM-CTRLDATA: l9nnX2Zvb3Rlcl9odG09MTAyMDc6NTY= MIME-Version: 1.0 Message-ID: <4d100fcb.2b3d.174ce22d609.Coremail.yang_y_yi@163.com> X-Coremail-Locale: zh_CN X-CM-TRANSID: GsGowAAHSNevKXBfcGx_AA--.43312W X-CM-SenderInfo: 51dqwsp1b1xqqrwthudrp/1tbiMxusi1Xl6aUPSwABs2 X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU== Content-Type: text/plain; charset=GBK Content-Transfer-Encoding: base64 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [PATCH] gso: add VXLAN UDP GSO support 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" SmlheXUsIGFsc28gcGxlYXNlIGhlbHAgIHJldmlldyB0aGlzIEdTTyBwYXRjaCwgdGhhbmtzIGEg bG90LgoKCgoKCgoKCgoKCgoKCgoKCgpBdCAyMDIwLTA3LTAxIDE0OjQ2OjQzLCB5YW5nX3lfeWlA MTYzLmNvbSB3cm90ZToKPkZyb206IFlpIFlhbmcgPHlhbmd5aTAxQGluc3B1ci5jb20+Cj4KPk1h bnkgTklDcyBjYW4ndCBvZmZsb2FkIFZYTEFOIFVGTywgc28gaXQgaXMgdmVyeSBpbXBvcnRhbnQK PnRvIGRvIFZYTEFOIFVEUCBHU08gYnkgc29mdHdhcmUgdG8gaW1wcm92ZSBWTS10by1WTSBVRFAK PnBlcmZvcm1hbmNlLCBlc3BlY2lhbGx5IGZvciB0aGUgY2FzZSB0aGF0IFZNIE1UVSBpcyBqdXN0 Cj4xNTAwIGJ1dCBub3QgOTAwMC4KPgo+V2l0aCB0aGlzIGVuYWJsZWQgaW4gRFBESywgT1ZTIERQ REsgY2FuIGxldmVyYWdlIGl0IHRvCj5pbXByb3ZlIFZNLXRvLVZNIFVEUCBwZXJmb3JtYW5jZSwg cGVyZm9ybWFuY2UgZ2FpbiBpcyB2ZXJ5Cj5odWdlLCBvdmVyIDIgdGltZXMuCj4KPlNpZ25lZC1v ZmYtYnk6IFlpIFlhbmcgPHlhbmd5aTAxQGluc3B1ci5jb20+Cj4tLS0KPiBsaWIvbGlicnRlX2dz by9NYWtlZmlsZSAgICAgICAgICB8ICAgMSArCj4gbGliL2xpYnJ0ZV9nc28vZ3NvX2NvbW1vbi5o ICAgICAgfCAgIDUgKysKPiBsaWIvbGlicnRlX2dzby9nc29fdHVubmVsX3VkcDQuYyB8IDEwOCAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiBsaWIvbGlicnRlX2dzby9n c29fdHVubmVsX3VkcDQuaCB8ICA0MyArKysrKysrKysrKysrKysrCj4gbGliL2xpYnJ0ZV9nc28v bWVzb24uYnVpbGQgICAgICAgfCAgIDIgKy0KPiBsaWIvbGlicnRlX2dzby9ydGVfZ3NvLmMgICAg ICAgICB8ICAgOCArKysKPiA2IGZpbGVzIGNoYW5nZWQsIDE2NiBpbnNlcnRpb25zKCspLCAxIGRl bGV0aW9uKC0pCj4gY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi9saWJydGVfZ3NvL2dzb190dW5uZWxf dWRwNC5jCj4gY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi9saWJydGVfZ3NvL2dzb190dW5uZWxfdWRw NC5oCj4KPmRpZmYgLS1naXQgYS9saWIvbGlicnRlX2dzby9NYWtlZmlsZSBiL2xpYi9saWJydGVf Z3NvL01ha2VmaWxlCj5pbmRleCBhMzQ4NDZlLi4zMDA1ODE3IDEwMDY0NAo+LS0tIGEvbGliL2xp YnJ0ZV9nc28vTWFrZWZpbGUKPisrKyBiL2xpYi9saWJydGVfZ3NvL01ha2VmaWxlCj5AQCAtMTcs NiArMTcsNyBAQCBTUkNTLSQoQ09ORklHX1JURV9MSUJSVEVfR1NPKSArPSBydGVfZ3NvLmMKPiBT UkNTLSQoQ09ORklHX1JURV9MSUJSVEVfR1NPKSArPSBnc29fY29tbW9uLmMKPiBTUkNTLSQoQ09O RklHX1JURV9MSUJSVEVfR1NPKSArPSBnc29fdGNwNC5jCj4gU1JDUy0kKENPTkZJR19SVEVfTElC UlRFX0dTTykgKz0gZ3NvX3R1bm5lbF90Y3A0LmMKPitTUkNTLSQoQ09ORklHX1JURV9MSUJSVEVf R1NPKSArPSBnc29fdHVubmVsX3VkcDQuYwo+IFNSQ1MtJChDT05GSUdfUlRFX0xJQlJURV9HU08p ICs9IGdzb191ZHA0LmMKPiAKPiAjIGluc3RhbGwgdGhpcyBoZWFkZXIgZmlsZQo+ZGlmZiAtLWdp dCBhL2xpYi9saWJydGVfZ3NvL2dzb19jb21tb24uaCBiL2xpYi9saWJydGVfZ3NvL2dzb19jb21t b24uaAo+aW5kZXggYTBiODM0My4uNGQ1ZjMwMyAxMDA2NDQKPi0tLSBhL2xpYi9saWJydGVfZ3Nv L2dzb19jb21tb24uaAo+KysrIGIvbGliL2xpYnJ0ZV9nc28vZ3NvX2NvbW1vbi5oCj5AQCAtMjYs NiArMjYsMTEgQEAKPiAJCShQS1RfVFhfVENQX1NFRyB8IFBLVF9UWF9JUFY0IHwgUEtUX1RYX09V VEVSX0lQVjQgfCBcCj4gCQkgUEtUX1RYX1RVTk5FTF9WWExBTikpCj4gCj4rI2RlZmluZSBJU19J UFY0X1ZYTEFOX1VEUDQoZmxhZykgKCgoZmxhZykgJiAoUEtUX1RYX1VEUF9TRUcgfCBQS1RfVFhf SVBWNCB8IFwKPisJCQkJUEtUX1RYX09VVEVSX0lQVjQgfCBQS1RfVFhfVFVOTkVMX01BU0spKSA9 PSBcCj4rCQkoUEtUX1RYX1VEUF9TRUcgfCBQS1RfVFhfSVBWNCB8IFBLVF9UWF9PVVRFUl9JUFY0 IHwgXAo+KwkJIFBLVF9UWF9UVU5ORUxfVlhMQU4pKQo+Kwo+ICNkZWZpbmUgSVNfSVBWNF9HUkVf VENQNChmbGFnKSAoKChmbGFnKSAmIChQS1RfVFhfVENQX1NFRyB8IFBLVF9UWF9JUFY0IHwgXAo+ IAkJCQlQS1RfVFhfT1VURVJfSVBWNCB8IFBLVF9UWF9UVU5ORUxfTUFTSykpID09IFwKPiAJCShQ S1RfVFhfVENQX1NFRyB8IFBLVF9UWF9JUFY0IHwgUEtUX1RYX09VVEVSX0lQVjQgfCBcCj5kaWZm IC0tZ2l0IGEvbGliL2xpYnJ0ZV9nc28vZ3NvX3R1bm5lbF91ZHA0LmMgYi9saWIvbGlicnRlX2dz by9nc29fdHVubmVsX3VkcDQuYwo+bmV3IGZpbGUgbW9kZSAxMDA2NDQKPmluZGV4IDAwMDAwMDAu LjFhMDE4ZWUKPi0tLSAvZGV2L251bGwKPisrKyBiL2xpYi9saWJydGVfZ3NvL2dzb190dW5uZWxf dWRwNC5jCj5AQCAtMCwwICsxLDEwOCBAQAo+Ky8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBC U0QtMy1DbGF1c2UKPisgKiBDb3B5cmlnaHQoYykgMjAyMCBJbnNwdXIgQ29ycG9yYXRpb24KPisg Ki8KPisKPisjaW5jbHVkZSAiZ3NvX2NvbW1vbi5oIgo+KyNpbmNsdWRlICJnc29fdHVubmVsX3Vk cDQuaCIKPisKPisjZGVmaW5lIElQVjRfSERSX01GX0JJVCAoMVUgPDwgMTMpCj4rCj4rc3RhdGlj IHZvaWQKPit1cGRhdGVfdHVubmVsX2lwdjRfdWRwX2hlYWRlcnMoc3RydWN0IHJ0ZV9tYnVmICpw a3QsIHN0cnVjdCBydGVfbWJ1ZiAqKnNlZ3MsCj4rCQkJICAgICAgIHVpbnQxNl90IG5iX3NlZ3Mp Cj4rewo+KwlzdHJ1Y3QgcnRlX2lwdjRfaGRyICppcHY0X2hkcjsKPisJdWludDE2X3Qgb3V0ZXJf aWQsIGlubmVyX2lkLCB0YWlsX2lkeCwgaSwgbGVuZ3RoOwo+Kwl1aW50MTZfdCBvdXRlcl9pcHY0 X29mZnNldCwgaW5uZXJfaXB2NF9vZmZzZXQ7Cj4rCXVpbnQxNl90IHVkcF9ncmVfb2Zmc2V0LCB1 ZHBfb2Zmc2V0Owo+Kwl1aW50OF90IHVwZGF0ZV91ZHBfaGRyOwo+Kwl1aW50MTZfdCBmcmFnX29m ZnNldCA9IDAsIGlzX21mOwo+Kwo+KwlvdXRlcl9pcHY0X29mZnNldCA9IHBrdC0+b3V0ZXJfbDJf bGVuOwo+Kwl1ZHBfZ3JlX29mZnNldCA9IG91dGVyX2lwdjRfb2Zmc2V0ICsgcGt0LT5vdXRlcl9s M19sZW47Cj4rCWlubmVyX2lwdjRfb2Zmc2V0ID0gdWRwX2dyZV9vZmZzZXQgKyBwa3QtPmwyX2xl bjsKPisJdWRwX29mZnNldCA9IGlubmVyX2lwdjRfb2Zmc2V0ICsgcGt0LT5sM19sZW47Cj4rCj4r CS8qIE91dGVyIElQdjQgaGVhZGVyLiAqLwo+KwlpcHY0X2hkciA9IChzdHJ1Y3QgcnRlX2lwdjRf aGRyICopKHJ0ZV9wa3RtYnVmX210b2QocGt0LCBjaGFyICopICsKPisJCQlvdXRlcl9pcHY0X29m ZnNldCk7Cj4rCW91dGVyX2lkID0gcnRlX2JlX3RvX2NwdV8xNihpcHY0X2hkci0+cGFja2V0X2lk KTsKPisKPisJLyogSW5uZXIgSVB2NCBoZWFkZXIuICovCj4rCWlwdjRfaGRyID0gKHN0cnVjdCBy dGVfaXB2NF9oZHIgKikocnRlX3BrdG1idWZfbXRvZChwa3QsIGNoYXIgKikgKwo+KwkJCWlubmVy X2lwdjRfb2Zmc2V0KTsKPisJaW5uZXJfaWQgPSBydGVfYmVfdG9fY3B1XzE2KGlwdjRfaGRyLT5w YWNrZXRfaWQpOwo+Kwo+Kwl0YWlsX2lkeCA9IG5iX3NlZ3MgLSAxOwo+Kwo+KwkvKiBPbmx5IHVw ZGF0ZSBVRFAgaGVhZGVyIGZvciBWeExBTiBwYWNrZXRzLiAqLwo+Kwl1cGRhdGVfdWRwX2hkciA9 IChwa3QtPm9sX2ZsYWdzICYgUEtUX1RYX1RVTk5FTF9WWExBTikgPyAxIDogMDsKPisKPisJZm9y IChpID0gMDsgaSA8IG5iX3NlZ3M7IGkrKykgewo+KwkJdXBkYXRlX2lwdjRfaGVhZGVyKHNlZ3Nb aV0sIG91dGVyX2lwdjRfb2Zmc2V0LCBvdXRlcl9pZCk7Cj4rCQlpZiAodXBkYXRlX3VkcF9oZHIp Cj4rCQkJdXBkYXRlX3VkcF9oZWFkZXIoc2Vnc1tpXSwgdWRwX2dyZV9vZmZzZXQpOwo+KwkJdXBk YXRlX2lwdjRfaGVhZGVyKHNlZ3NbaV0sIGlubmVyX2lwdjRfb2Zmc2V0LCBpbm5lcl9pZCk7Cj4r CQl1cGRhdGVfdWRwX2hlYWRlcihzZWdzW2ldLCB1ZHBfb2Zmc2V0KTsKPisJCS8qIEZvciB0aGUg Y2FzZSBpbm5lciBwYWNrZXQgaXMgVURQLCB3ZSBtdXN0IGtlZXAgVURQCj4rCQkgKiBkYXRhZ3Jh bSBib3VuZGFyeSwgaXQgbXVzdCBiZSBoYW5kbGVkIGFzIElQIGZyYWdtZW50Lgo+KwkJICoKPisJ CSAqIFNldCBJUCBmcmFnbWVudCBvZmZzZXQgZm9yIGlubmVyIElQIGhlYWRlci4KPisJCSAqLwo+ KwkJaXB2NF9oZHIgPSAoc3RydWN0IHJ0ZV9pcHY0X2hkciAqKQo+KwkJCShydGVfcGt0bWJ1Zl9t dG9kKHNlZ3NbaV0sIGNoYXIgKikgKwo+KwkJCQlpbm5lcl9pcHY0X29mZnNldCk7Cj4rCQlpc19t ZiA9IGkgPCB0YWlsX2lkeCA/IElQVjRfSERSX01GX0JJVCA6IDA7Cj4rCQlpcHY0X2hkci0+ZnJh Z21lbnRfb2Zmc2V0ID0KPisJCQlydGVfY3B1X3RvX2JlXzE2KGZyYWdfb2Zmc2V0IHwgaXNfbWYp Owo+KwkJbGVuZ3RoID0gc2Vnc1tpXS0+cGt0X2xlbiAtIGlubmVyX2lwdjRfb2Zmc2V0IC0gcGt0 LT5sM19sZW47Cj4rCQlmcmFnX29mZnNldCArPSAobGVuZ3RoID4+IDMpOwo+KwkJb3V0ZXJfaWQr KzsKPisJfQo+K30KPisKPitpbnQKPitnc29fdHVubmVsX3VkcDRfc2VnbWVudChzdHJ1Y3QgcnRl X21idWYgKnBrdCwKPisJCXVpbnQxNl90IGdzb19zaXplLAo+KwkJc3RydWN0IHJ0ZV9tZW1wb29s ICpkaXJlY3RfcG9vbCwKPisJCXN0cnVjdCBydGVfbWVtcG9vbCAqaW5kaXJlY3RfcG9vbCwKPisJ CXN0cnVjdCBydGVfbWJ1ZiAqKnBrdHNfb3V0LAo+KwkJdWludDE2X3QgbmJfcGt0c19vdXQpCj4r ewo+KwlzdHJ1Y3QgcnRlX2lwdjRfaGRyICppbm5lcl9pcHY0X2hkcjsKPisJdWludDE2X3QgcHls ZF91bml0X3NpemUsIGhkcl9vZmZzZXQsIGZyYWdfb2ZmOwo+KwlpbnQgcmV0ID0gMTsKPisKPisJ aGRyX29mZnNldCA9IHBrdC0+b3V0ZXJfbDJfbGVuICsgcGt0LT5vdXRlcl9sM19sZW4gKyBwa3Qt PmwyX2xlbjsKPisJaW5uZXJfaXB2NF9oZHIgPSAoc3RydWN0IHJ0ZV9pcHY0X2hkciAqKShydGVf cGt0bWJ1Zl9tdG9kKHBrdCwgY2hhciAqKSArCj4rCQkJaGRyX29mZnNldCk7Cj4rCS8qCj4rCSAq IERvbid0IHByb2Nlc3MgdGhlIHBhY2tldCB3aG9zZSBNRiBiaXQgb3Igb2Zmc2V0IGluIHRoZSBp bm5lcgo+KwkgKiBJUHY0IGhlYWRlciBhcmUgbm9uLXplcm8uCj4rCSAqLwo+KwlmcmFnX29mZiA9 IHJ0ZV9iZV90b19jcHVfMTYoaW5uZXJfaXB2NF9oZHItPmZyYWdtZW50X29mZnNldCk7Cj4rCWlm ICh1bmxpa2VseShJU19GUkFHTUVOVEVEKGZyYWdfb2ZmKSkpIHsKPisJCXBrdHNfb3V0WzBdID0g cGt0Owo+KwkJcmV0dXJuIDE7Cj4rCX0KPisKPisJaGRyX29mZnNldCArPSBwa3QtPmwzX2xlbjsK PisJLyogRG9uJ3QgcHJvY2VzcyB0aGUgcGFja2V0IHdpdGhvdXQgZGF0YSAqLwo+KwlpZiAoKGhk cl9vZmZzZXQgKyBwa3QtPmw0X2xlbikgPj0gcGt0LT5wa3RfbGVuKSB7Cj4rCQlwa3RzX291dFsw XSA9IHBrdDsKPisJCXJldHVybiAxOwo+Kwl9Cj4rCj4rCS8qIHB5bGRfdW5pdF9zaXplIG11c3Qg YmUgYSBtdWx0aXBsZSBvZiA4IGJlY2F1c2UgZnJhZ19vZmYKPisJICogdXNlcyA4IGJ5dGVzIGFz IHVuaXQuCj4rCSAqLwo+KwlweWxkX3VuaXRfc2l6ZSA9IChnc29fc2l6ZSAtIGhkcl9vZmZzZXQp ICYgfjdVOwo+Kwo+KwkvKiBTZWdtZW50IHRoZSBwYXlsb2FkICovCj4rCXJldCA9IGdzb19kb19z ZWdtZW50KHBrdCwgaGRyX29mZnNldCwgcHlsZF91bml0X3NpemUsIGRpcmVjdF9wb29sLAo+KwkJ CWluZGlyZWN0X3Bvb2wsIHBrdHNfb3V0LCBuYl9wa3RzX291dCk7Cj4rCWlmIChyZXQgPiAxKQo+ KwkJdXBkYXRlX3R1bm5lbF9pcHY0X3VkcF9oZWFkZXJzKHBrdCwgcGt0c19vdXQsIHJldCk7Cj4r Cj4rCXJldHVybiByZXQ7Cj4rfQo+ZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfZ3NvL2dzb190dW5u ZWxfdWRwNC5oIGIvbGliL2xpYnJ0ZV9nc28vZ3NvX3R1bm5lbF91ZHA0LmgKPm5ldyBmaWxlIG1v ZGUgMTAwNjQ0Cj5pbmRleCAwMDAwMDAwLi5kNTZlMzQyCj4tLS0gL2Rldi9udWxsCj4rKysgYi9s aWIvbGlicnRlX2dzby9nc29fdHVubmVsX3VkcDQuaAo+QEAgLTAsMCArMSw0MyBAQAo+Ky8qIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKPisgKiBDb3B5cmlnaHQoYykgMjAy MCBJbnNwdXIgQ29ycG9yYXRpb24KPisgKi8KPisKPisjaWZuZGVmIF9HU09fVFVOTkVMX1VEUDRf SF8KPisjZGVmaW5lIF9HU09fVFVOTkVMX1VEUDRfSF8KPisKPisjaW5jbHVkZSA8c3RkaW50Lmg+ Cj4rI2luY2x1ZGUgPHJ0ZV9tYnVmLmg+Cj4rCj4rLyoqCj4rICogU2VnbWVudCBhIHR1bm5lbGlu ZyBwYWNrZXQgd2l0aCBpbm5lciBUQ1AvSVB2NCBoZWFkZXJzLiBUaGlzIGZ1bmN0aW9uCj4rICog ZG9lcyBub3QgY2hlY2sgaWYgdGhlIGlucHV0IHBhY2tldCBoYXMgY29ycmVjdCBjaGVja3N1bXMs IGFuZCBkb2VzIG5vdAo+KyAqIHVwZGF0ZSBjaGVja3N1bXMgZm9yIG91dHB1dCBHU08gc2VnbWVu dHMuIEZ1cnRoZXJtb3JlLCBpdCBkb2VzIG5vdAo+KyAqIHByb2Nlc3MgSVAgZnJhZ21lbnQgcGFj a2V0cy4KPisgKgo+KyAqIEBwYXJhbSBwa3QKPisgKiAgVGhlIHBhY2tldCBtYnVmIHRvIHNlZ21l bnQuCj4rICogQHBhcmFtIGdzb19zaXplCj4rICogIFRoZSBtYXggbGVuZ3RoIG9mIGEgR1NPIHNl Z21lbnQsIG1lYXN1cmVkIGluIGJ5dGVzLgo+KyAqIEBwYXJhbSBkaXJlY3RfcG9vbAo+KyAqICBN QlVGIHBvb2wgdXNlZCBmb3IgYWxsb2NhdGluZyBkaXJlY3QgYnVmZmVycyBmb3Igb3V0cHV0IHNl Z21lbnRzLgo+KyAqIEBwYXJhbSBpbmRpcmVjdF9wb29sCj4rICogIE1CVUYgcG9vbCB1c2VkIGZv ciBhbGxvY2F0aW5nIGluZGlyZWN0IGJ1ZmZlcnMgZm9yIG91dHB1dCBzZWdtZW50cy4KPisgKiBA cGFyYW0gcGt0c19vdXQKPisgKiAgUG9pbnRlciBhcnJheSB1c2VkIHRvIHN0b3JlIHRoZSBNQlVG IGFkZHJlc3NlcyBvZiBvdXRwdXQgR1NPCj4rICogIHNlZ21lbnRzLCB3aGVuIGl0IHN1Y2NlZWRz LiBJZiB0aGUgbWVtb3J5IHNwYWNlIGluIHBrdHNfb3V0IGlzCj4rICogIGluc3VmZmljaWVudCwg aXQgZmFpbHMgYW5kIHJldHVybnMgLUVJTlZBTC4KPisgKiBAcGFyYW0gbmJfcGt0c19vdXQKPisg KiAgVGhlIG1heCBudW1iZXIgb2YgaXRlbXMgdGhhdCAncGt0c19vdXQnIGNhbiBrZWVwLgo+KyAq Cj4rICogQHJldHVybgo+KyAqICAgLSBUaGUgbnVtYmVyIG9mIEdTTyBzZWdtZW50cyBmaWxsZWQg aW4gcGt0c19vdXQgb24gc3VjY2Vzcy4KPisgKiAgIC0gUmV0dXJuIC1FTk9NRU0gaWYgcnVuIG91 dCBvZiBtZW1vcnkgaW4gTUJVRiBwb29scy4KPisgKiAgIC0gUmV0dXJuIC1FSU5WQUwgZm9yIGlu dmFsaWQgcGFyYW1ldGVycy4KPisgKi8KPitpbnQgZ3NvX3R1bm5lbF91ZHA0X3NlZ21lbnQoc3Ry dWN0IHJ0ZV9tYnVmICpwa3QsCj4rCQl1aW50MTZfdCBnc29fc2l6ZSwKPisJCXN0cnVjdCBydGVf bWVtcG9vbCAqZGlyZWN0X3Bvb2wsCj4rCQlzdHJ1Y3QgcnRlX21lbXBvb2wgKmluZGlyZWN0X3Bv b2wsCj4rCQlzdHJ1Y3QgcnRlX21idWYgKipwa3RzX291dCwKPisJCXVpbnQxNl90IG5iX3BrdHNf b3V0KTsKPisjZW5kaWYKPmRpZmYgLS1naXQgYS9saWIvbGlicnRlX2dzby9tZXNvbi5idWlsZCBi L2xpYi9saWJydGVfZ3NvL21lc29uLmJ1aWxkCj5pbmRleCBhZDhkZDg1Li4wNTkwNGYyIDEwMDY0 NAo+LS0tIGEvbGliL2xpYnJ0ZV9nc28vbWVzb24uYnVpbGQKPisrKyBiL2xpYi9saWJydGVfZ3Nv L21lc29uLmJ1aWxkCj5AQCAtMiw2ICsyLDYgQEAKPiAjIENvcHlyaWdodChjKSAyMDE3IEludGVs IENvcnBvcmF0aW9uCj4gCj4gc291cmNlcyA9IGZpbGVzKCdnc29fY29tbW9uLmMnLCAnZ3NvX3Rj cDQuYycsICdnc29fdWRwNC5jJywKPi0gCQknZ3NvX3R1bm5lbF90Y3A0LmMnLCAncnRlX2dzby5j JykKPisJCSdnc29fdHVubmVsX3RjcDQuYycsICdnc29fdHVubmVsX3VkcDQuYycsICdydGVfZ3Nv LmMnKQo+IGhlYWRlcnMgPSBmaWxlcygncnRlX2dzby5oJykKPiBkZXBzICs9IFsnZXRoZGV2J10K PmRpZmYgLS1naXQgYS9saWIvbGlicnRlX2dzby9ydGVfZ3NvLmMgYi9saWIvbGlicnRlX2dzby9y dGVfZ3NvLmMKPmluZGV4IDc1MWI1YjYuLmNmNDAxYjIgMTAwNjQ0Cj4tLS0gYS9saWIvbGlicnRl X2dzby9ydGVfZ3NvLmMKPisrKyBiL2xpYi9saWJydGVfZ3NvL3J0ZV9nc28uYwo+QEAgLTExLDYg KzExLDcgQEAKPiAjaW5jbHVkZSAiZ3NvX2NvbW1vbi5oIgo+ICNpbmNsdWRlICJnc29fdGNwNC5o Igo+ICNpbmNsdWRlICJnc29fdHVubmVsX3RjcDQuaCIKPisjaW5jbHVkZSAiZ3NvX3R1bm5lbF91 ZHA0LmgiCj4gI2luY2x1ZGUgImdzb191ZHA0LmgiCj4gCj4gI2RlZmluZSBJTExFR0FMX1VEUF9H U09fQ1RYKGN0eCkgXAo+QEAgLTYyLDYgKzYzLDEzIEBACj4gCQlyZXQgPSBnc29fdHVubmVsX3Rj cDRfc2VnbWVudChwa3QsIGdzb19zaXplLCBpcGlkX2RlbHRhLAo+IAkJCQlkaXJlY3RfcG9vbCwg aW5kaXJlY3RfcG9vbCwKPiAJCQkJcGt0c19vdXQsIG5iX3BrdHNfb3V0KTsKPisJfSBlbHNlIGlm IChJU19JUFY0X1ZYTEFOX1VEUDQocGt0LT5vbF9mbGFncykgJiYKPisJCQkoZ3NvX2N0eC0+Z3Nv X3R5cGVzICYgKERFVl9UWF9PRkZMT0FEX1ZYTEFOX1ROTF9UU08gfAo+KwkJCQkJICAgICAgIERF Vl9UWF9PRkZMT0FEX1VEUF9UU08pKSkgewo+KwkJcGt0LT5vbF9mbGFncyAmPSAoflBLVF9UWF9V RFBfU0VHKTsKPisJCXJldCA9IGdzb190dW5uZWxfdWRwNF9zZWdtZW50KHBrdCwgZ3NvX3NpemUs Cj4rCQkJCWRpcmVjdF9wb29sLCBpbmRpcmVjdF9wb29sLAo+KwkJCQlwa3RzX291dCwgbmJfcGt0 c19vdXQpOwo+IAl9IGVsc2UgaWYgKElTX0lQVjRfVENQKHBrdC0+b2xfZmxhZ3MpICYmCj4gCQkJ KGdzb19jdHgtPmdzb190eXBlcyAmIERFVl9UWF9PRkZMT0FEX1RDUF9UU08pKSB7Cj4gCQlwa3Qt Pm9sX2ZsYWdzICY9ICh+UEtUX1RYX1RDUF9TRUcpOwo+LS0gCj4xLjguMy4xCg==