From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <zhangwqh@126.com>
Received: from m15-11.126.com (m15-11.126.com [220.181.15.11])
 by dpdk.org (Postfix) with ESMTP id 5836C2E8B
 for <dev@dpdk.org>; Mon, 14 Mar 2016 03:30:29 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com;
 s=s110527; h=Date:From:Subject:MIME-Version:Message-ID; bh=4Mv47
 mz0UEv5d8t+RGQrTTW2tvFdoG+bR6cReDeRS2g=; b=QwDd8Fm81cb2/naI4e3Z+
 WhK8Vj+LSnFOi6+PTsXdplbROtZGcGaAamVA2CUNwF3J20026E+X1OPJNWD7z+hW
 wa1sRumamBtMRa05KN/RR53YuARCJSIBbVy7DEsPVpDfzEbukNCwjgFlfM4/ftzb
 33qgXeA4ucsDDKrtJNHNAM=
Received: from zhangwqh$126.com ( [161.253.120.35, 54.215.2.217,
 10.144.1.72] ) by ajax-webmail-wmsvr11 (Coremail) ; Mon, 14 Mar 2016
 10:30:22 +0800 (CST)
X-Originating-IP: [161.253.120.35, 54.215.2.217, 10.144.1.72]
Date: Mon, 14 Mar 2016 10:30:22 +0800 (CST)
From: =?GBK?B?1cXOsA==?= <zhangwqh@126.com>
To: "Dhana Eadala" <edreddy@gmail.com>
Cc: bruce.richardson@intel.com, pablo.de.lara.guarch@intel.com, 
 michael.qiu@intel.com, dev@dpdk.org
X-Priority: 3
X-Mailer: Coremail Webmail Server Version SP_ntes V3.5 build
 20160223(81157.8522) Copyright (c) 2002-2016 www.mailtech.cn 126com
In-Reply-To: <1457921808-14261-1-git-send-email-edreddy@gmail.com>
References: <1457921808-14261-1-git-send-email-edreddy@gmail.com>
X-CM-CTRLDATA: lG6KoGZvb3Rlcl9odG09MTk1OTk6NTY=
MIME-Version: 1.0
Message-ID: <7c06f1b.3ed5.15372f5c4f6.Coremail.zhangwqh@126.com>
X-Coremail-Locale: zh_CN
X-CM-TRANSID: C8qowAA3UA4_IuZWLHNKAA--.63860W
X-CM-SenderInfo: x2kd0wxztkqiyswou0bp/1tbiigQs6VXnI-NgkwABsb
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] hash: fix memcmp function pointer in
 multi-process environment
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches and discussions about DPDK <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Mon, 14 Mar 2016 02:30:31 -0000

SSBtZXQgYSBwcm9ibGVtIHdoaWNoIEkgdXNlZCB0aGUgRFBESyBoYXNoIHRhYmxlIGZvciBtdWx0
aSBwcm9jZXNzZXMuIE9uZSBzdGFydGVkIGFzIHByaW1hcnkgcHJvY2VzcyBhbmQgdGhlIG90aGVy
IGFzIHNlY29uZGFyeSBwcm9jZXNzLgoKCkkgYmFzZWQgb24gdGhlIGNsaWVudCBhbmQgc2VydmVy
IG11bHRpcHJvY2VzcyBleGFtcGxlLiBNeSBhaW0gaXMgdGhhdCBzZXJ2ZXIgY3JlYXRlcyBhIGhh
c2ggdGFibGUsIHRoZW4gc2hhcmUgaXQgdG8gdGhlIGNsaWVudC4gVGhlIGNsaWVudCB3aWxsIHJl
YWQgYW5kIHdyaXRlIHRoZSBoYXNoIHRhYmxlLCBhbmQgdGhlIHNlcnZlciB3aWxsIHJlYWQgdGhl
IGhhc2ggdGFibGUuIEkgdXNlIHJ0ZV9jYWxsb2MgYWxsb2NhdGUgdGhlIHNwYWNlIGZvciBoYXNo
IHRhYmxlLCB1c2UgbWVtem9uZSB0ZWxscyB0aGUgY2xpZW50IHRoZSBoYXNoIHRhYmxlIGFkZHJl
c3MuCkJ1dCBvbmNlIEkgYWRkIGFuIGVudHJ5IGludG8gdGhlIGhhc2ggdGFibGUsIGNhbGxpbmcg
Imxvb2t1cCIgZnVuY3Rpb24gd2lsbCBoYXZlIHRoZSBzZWdtZW50IGZhdWx0LiBCdXQgZm9yIHRo
ZSBsb29rdXAgZnVuY3Rpb24sIEkgaGF2ZSBleGFjdGx5IHRoZSBzYW1lIHBhcmFtZXRlcnMgZm9y
IGxvb2t1cCB3aGVuIHRoZSBmaXJzdCB0aW1lIGNhbGxzIHRoZSBsb29rdXAuCklmIEkgY3JlYXRl
IHRoZSBoYXNoIHRhYmxlIGluc2lkZSB0aGUgY2xpZW50LCBldmVyeXRoaW5nIHdvcmtzIGNvcnJl
Y3RseS4KSSBwdXQgcGllY2VzIG9mIGNvZGVzIGZvciBzZXJ2ZXIgYW5kIGNsaWVudCBjb2RlcyBy
ZWxhdGVkIHRvIHRoZSBoYXNoIHRhYmxlLiBJIGhhdmUgc3BlbnQgYWxtb3N0IDMgZGF5cyBvbiB0
aGlzIGJ1Zy4gQnV0IHRoZXJlIGlzIG5vIGFueSBjbHVlIHdoaWNoIGNhbiBoZWxwIHRvIHNvbHZl
IHRoaXMgYnVnLiBJZiBhbnkgb2YgeW91IGNhbiBnaXZlIHNvbWUgc3VnZ2VzdGlvbnMsIEkgd2ls
bCBiZSBhcHByZWNpYXRlZC4gSSBwb3N0IHRoZSBxdWVzdGlvbiBpbnRvIHRoZSBtYWlsIGxpc3Qs
IGJ1dCBoYXZlIG5vdCB5ZXQgZ290IGFueSByZXBseS4KCgpUaGlzIHByb2JsZW0gaXMgdGhhdCBp
biBkcGRrIG11bHRpIHByb2Nlc3MgLSBjbGllbnQgYW5kIHNlcnZlciBleGFtcGxlLCBkcGRrLTIu
Mi4wL2V4YW1wbGVzL211bHRpX3Byb2Nlc3MvY2xpZW50X3NlcnZlcl9tcApNeSBhaW0gaXMgdGhh
dCBzZXJ2ZXIgY3JlYXRlIGEgaGFzaCB0YWJsZSwgdGhlbiBzaGFyZSBpdCB0byBjbGllbnQuIENs
aWVudCB3aWxsIHdyaXRlIHRoZSBoYXNoICB0YWJsZSwgc2VydmVyIHdpbGwgcmVhZCB0aGUgaGFz
aCB0YWJsZS4gIEkgYW0gdXNpbmcgZHBkayBoYXNoIHRhYmxlLiAgV2hhdCBJIGRpZCBpcyB0aGF0
IHNlcnZlciBjcmVhdGUgYSBoYXNoIHRhYmxlICh0YWJsZSBhbmQgYXJyYXkgZW50cmllcyksIHJl
dHVybiB0aGUgdGFibGUgYWRkcmVzcy4gIEkgdXNlIG1lbXpvbmUgcGFzcyB0aGUgdGFibGUgYWRk
cmVzcyB0byBjbGllbnQuICBJbiBjbGllbnQsIHRoZSBzZWNvbmQgbG9va3VwIGdldHMgc2VnbWVu
dCBmYXVsdC4gVGhlIHN5c3RlbSBnZXRzIGNyYXNoZWQuICBJIHdpbGwgcHV0IHNvbWUgcmVsYXRl
ZCBjb2RlIGhlcmUuIApjcmVhdGUgaGFzaCB0YWJsZSBmdW5jdGlvbjoKCnN0cnVjdCBvbnZtX2Z0
KgoKb252bV9mdF9jcmVhdGUoaW50IGNudCwgaW50IGVudHJ5X3NpemUpIHsKCiAgICAgICAgc3Ry
dWN0IHJ0ZV9oYXNoKiBoYXNoOwoKICAgICAgICBzdHJ1Y3Qgb252bV9mdCogZnQ7CgogICAgICAg
IHN0cnVjdCBydGVfaGFzaF9wYXJhbWV0ZXJzIGlwdjRfaGFzaF9wYXJhbXMgPSB7CgogICAgICAg
ICAgICAubmFtZSA9IE5VTEwsCgogICAgICAgICAgICAuZW50cmllcyA9IGNudCwKCiAgICAgICAg
ICAgIC5rZXlfbGVuID0gc2l6ZW9mKHN0cnVjdCBvbnZtX2Z0X2lwdjRfNXR1cGxlKSwKCiAgICAg
ICAgICAgIC5oYXNoX2Z1bmMgPSBOVUxMLAoKICAgICAgICAgICAgLmhhc2hfZnVuY19pbml0X3Zh
bCA9IDAsCgogICAgICAgIH07CgoKCgogICAgICAgIGNoYXIgc1s2NF07CgogICAgICAgIC8qIGNy
ZWF0ZSBpcHY0IGhhc2ggdGFibGUuIHVzZSBjb3JlIG51bWJlciBhbmQgY3ljbGUgY291bnRlciB0
byBnZXQgYSB1bmlxdWUgbmFtZS4gKi8KCiAgICAgICAgaXB2NF9oYXNoX3BhcmFtcy5uYW1lID0g
czsKCiAgICAgICAgaXB2NF9oYXNoX3BhcmFtcy5zb2NrZXRfaWQgPSBydGVfc29ja2V0X2lkKCk7
CgogICAgICAgIHNucHJpbnRmKHMsIHNpemVvZihzKSwgIm9udm1fZnRfJWQtJSJQUkl1NjQsIHJ0
ZV9sY29yZV9pZCgpLCBydGVfZ2V0X3RzY19jeWNsZXMoKSk7CgogICAgICAgIGhhc2ggPSBydGVf
aGFzaF9jcmVhdGUoJmlwdjRfaGFzaF9wYXJhbXMpOwoKICAgICAgICBpZiAoaGFzaCA9PSBOVUxM
KSB7CgogICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CgogICAgICAgIH0KCiAgICAgICAgZnQg
PSAoc3RydWN0IG9udm1fZnQqKXJ0ZV9jYWxsb2MoInRhYmxlIiwgMSwgc2l6ZW9mKHN0cnVjdCBv
bnZtX2Z0KSwgMCk7CgogICAgICAgIGlmIChmdCA9PSBOVUxMKSB7CgogICAgICAgICAgICAgICAg
cnRlX2hhc2hfZnJlZShoYXNoKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKCiAgICAg
ICAgfQoKICAgICAgICBmdC0+aGFzaCA9IGhhc2g7CgogICAgICAgIGZ0LT5jbnQgPSBjbnQ7Cgog
ICAgICAgIGZ0LT5lbnRyeV9zaXplID0gZW50cnlfc2l6ZTsKCiAgICAgICAgLyogQ3JlYXRlIGRh
dGEgYXJyYXkgZm9yIHN0b3JpbmcgdmFsdWVzICovCgogICAgICAgIGZ0LT5kYXRhID0gcnRlX2Nh
bGxvYygiZW50cnkiLCBjbnQsIGVudHJ5X3NpemUsIDApOwoKICAgICAgICBpZiAoZnQtPmRhdGEg
PT0gTlVMTCkgewoKICAgICAgICAgICAgICAgIHJ0ZV9oYXNoX2ZyZWUoaGFzaCk7CgogICAgICAg
ICAgICAgICAgcnRlX2ZyZWUoZnQpOwoKICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwoKICAg
ICAgICB9CgogICAgICAgIHJldHVybiBmdDsKCn0KCgoKCnJlbGF0ZWQgc3RydWN0dXJlOgoKc3Ry
dWN0IG9udm1fZnQgewoKICAgICAgICBzdHJ1Y3QgcnRlX2hhc2gqIGhhc2g7CgogICAgICAgIGNo
YXIqIGRhdGE7CgogICAgICAgIGludCBjbnQ7CgogICAgICAgIGludCBlbnRyeV9zaXplOwoKfTsK
CgoKCmluIHNlcnZlciBzaWRlLCBJIHdpbGwgY2FsbCB0aGUgY3JlYXRlIGZ1bmN0aW9uLCB1c2Ug
bWVtem9uZSBzaGFyZSBpdCB0byBjbGllbnQuIFRoZSBmb2xsb3dpbmcgaXMgd2hhdCBJIGRvOgoK
cmVsYXRlZCB2YXJpYWJsZXM6CgpzdHJ1Y3Qgb252bV9mdCAqc2RuX2Z0OwoKc3RydWN0IG9udm1f
ZnQgKipzZG5fZnRfcDsKCmNvbnN0IHN0cnVjdCBydGVfbWVtem9uZSAqbXpfZnRwOwoKCgoKICAg
ICAgICBzZG5fZnQgPSBvbnZtX2Z0X2NyZWF0ZSgxMDI0LCBzaXplb2Yoc3RydWN0IG9udm1fZmxv
d19lbnRyeSkpOwoKICAgICAgICBpZihzZG5fZnQgPT0gTlVMTCkgewoKICAgICAgICAgICAgICAg
IHJ0ZV9leGl0KEVYSVRfRkFJTFVSRSwgIlVuYWJsZSB0byBjcmVhdGUgZmxvdyB0YWJsZVxuIik7
CgogICAgICAgIH0KCiAgICAgICAgbXpfZnRwID0gcnRlX21lbXpvbmVfcmVzZXJ2ZShNWl9GVFBf
SU5GTywgc2l6ZW9mKHN0cnVjdCBvbnZtX2Z0ICopLAoKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJ0ZV9zb2NrZXRfaWQoKSwgTk9fRkxBR1MpOwoKICAgICAgICBpZiAobXpfZnRw
ID09IE5VTEwpIHsKCiAgICAgICAgICAgICAgICBydGVfZXhpdChFWElUX0ZBSUxVUkUsICJDYW5v
dCByZXNlcnZlIG1lbW9yeSB6b25lIGZvciBmbG93IHRhYmxlIHBvaW50ZXJcbiIpOwoKICAgICAg
ICB9CgogICAgICAgIG1lbXNldChtel9mdHAtPmFkZHIsIDAsIHNpemVvZihzdHJ1Y3Qgb252bV9m
dCAqKSk7CgogICAgICAgIHNkbl9mdF9wID0gbXpfZnRwLT5hZGRyOwoKICAgICAgICAqc2RuX2Z0
X3AgPSBzZG5fZnQ7CgoKCgpJbiBjbGllbnQgc2lkZToKCnN0cnVjdCBvbnZtX2Z0ICpzZG5fZnQ7
CgpzdGF0aWMgdm9pZAoKbWFwX2Zsb3dfdGFibGUodm9pZCkgewoKICAgICAgICBjb25zdCBzdHJ1
Y3QgcnRlX21lbXpvbmUgKm16X2Z0cDsKCiAgICAgICAgc3RydWN0IG9udm1fZnQgKipmdHA7CgoK
CgogICAgICAgIG16X2Z0cCA9IHJ0ZV9tZW16b25lX2xvb2t1cChNWl9GVFBfSU5GTyk7CgogICAg
ICAgIGlmIChtel9mdHAgPT0gTlVMTCkKCiAgICAgICAgICAgICAgICBydGVfZXhpdChFWElUX0ZB
SUxVUkUsICJDYW5ub3QgZ2V0IGZsb3cgdGFibGUgcG9pbnRlclxuIik7CgogICAgICAgIGZ0cCA9
IG16X2Z0cC0+YWRkcjsKCiAgICAgICAgc2RuX2Z0ID0gKmZ0cDsKCn0KCgoKClRoZSBmb2xsb3dp
bmcgaXMgbXkgZGVidWcgbWVzc2FnZTogSSBzZXQgYSBicmVha3BvaW50IGluIGxvb2t1cCB0YWJs
ZSBsaW5lLiBUbyBuYXJyb3cgZG93biB0aGUgcHJvYmxlbSwgSSBqdXN0IHNlbmQgb25lIGZsb3cu
IFNvIHRoZSBzZWNvbmQgdGltZSBhbmQgdGhlIGZpcnN0IHRpbWUsIHRoZSBwYWNrZXRzIGFyZSB0
aGUgc2FtZS4gIAoKRm9yIHRoZSBmaXJzdCB0aW1lLCBpdCB3b3Jrcy4gSSBwcmludCBvdXQgdGhl
IHBhcmFtZXRlcnM6IGluc2lkZSB0aGUgb252bV9mdF9sb29rdXAgZnVuY3Rpb24sIGlmIHRoZXJl
IGlzIGEgcmVsYXRlZCBlbnRyeSwgaXQgd2lsbCByZXR1cm4gdGhlIGFkZHJlc3MgYnkgZmxvd19l
bnRyeS4gCgpCcmVha3BvaW50IDEsIGRhdGFwYXRoX2hhbmRsZV9yZWFkIChkcD0weDdmZmZmMDAw
MDhjMCkgYXQgL2hvbWUvemhhbmd3ZWkxOTg0L29wZW5OZXRWTS1tYXN0ZXIvb3Blbk5ldFZNL2V4
YW1wbGVzL2Zsb3dfdGFibGUvc2RuLmM6MTkxCgoxOTEgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICByZXQgPSBvbnZtX2Z0X2xvb2t1cChzZG5fZnQsIGZrLCAoY2hhcioqKSZmbG93X2Vu
dHJ5KTsKCihnZGIpIHByaW50ICpzZG5fZnQgCgokMSA9IHtoYXNoID0gMHg3ZmZmMzJjY2U3NDAs
IGRhdGEgPSAweDdmZmYzMmNiMDQ4MCAiIiwgY250ID0gMTAyNCwgZW50cnlfc2l6ZSA9IDU2fQoK
KGdkYikgcHJpbnQgKmZrCgokMiA9IHtzcmNfYWRkciA9IDQxOTQ5NjIwMiwgZHN0X2FkZHIgPSA0
NTMwNTA2MzQsIHNyY19wb3J0ID0gNTM3NjQsIGRzdF9wb3J0ID0gMTE3OTgsIHByb3RvID0gMTcg
J1wwMjEnfQoKKGdkYikgcwoKb252bV9mdF9sb29rdXAgKHRhYmxlPTB4N2ZmZjMyY2JlNGMwLCBr
ZXk9MHg3ZmZmMzJiOTlkMDAsIGRhdGE9MHg3ZmZmZjY4ZDJiMDApIGF0IC9ob21lL3poYW5nd2Vp
MTk4NC9vcGVuTmV0Vk0tbWFzdGVyL29wZW5OZXRWTS9vbnZtL3NoYXJlZC9vbnZtX2Zsb3dfdGFi
bGUuYzoxNTEKCjE1MSBzb2Z0cnNzID0gb252bV9zb2Z0cnNzKGtleSk7CgooZ2RiKSBuCgoxNTIg
ICAgICAgICBwcmludGYoInNvZnR3YXJlIHJzcyAlZFxuIiwgc29mdHJzcyk7CgooZ2RiKSAKCnNv
ZnR3YXJlIHJzcyA0MDMxODM2MjQKCjE1NCAgICAgICAgIHRibF9pbmRleCA9IHJ0ZV9oYXNoX2xv
b2t1cF93aXRoX2hhc2godGFibGUtPmhhc2gsIChjb25zdCB2b2lkICopa2V5LCBzb2Z0cnNzKTsK
CihnZGIpIHByaW50IHRhYmxlLT5oYXNoCgokMyA9IChzdHJ1Y3QgcnRlX2hhc2ggKikgMHg3ZmZm
MzJjY2U3NDAKCihnZGIpIHByaW50ICprZXkKCiQ0ID0ge3NyY19hZGRyID0gNDE5NDk2MjAyLCBk
c3RfYWRkciA9IDQ1MzA1MDYzNCwgc3JjX3BvcnQgPSA1Mzc2NCwgZHN0X3BvcnQgPSAxMTc5OCwg
cHJvdG8gPSAxNyAnXDAyMSd9CgooZ2RiKSBwcmludCBzb2Z0cnNzIAoKJDUgPSA0MDMxODM2MjQK
CihnZGIpIGMKCgoKCkFmdGVyIEkgaGl0IGMsIGl0IHdpbGwgZG8gdGhlIHNlY29uZCBsb29rdXAs
CgpCcmVha3BvaW50IDEsIGRhdGFwYXRoX2hhbmRsZV9yZWFkIChkcD0weDdmZmZmMDAwMDhjMCkg
YXQgL2hvbWUvemhhbmd3ZWkxOTg0L29wZW5OZXRWTS1tYXN0ZXIvb3Blbk5ldFZNL2V4YW1wbGVz
L2Zsb3dfdGFibGUvc2RuLmM6MTkxCgoxOTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICByZXQgPSBvbnZtX2Z0X2xvb2t1cChzZG5fZnQsIGZrLCAoY2hhcioqKSZmbG93X2VudHJ5KTsK
CihnZGIpIHByaW50ICpzZG5fZnQKCgokNyA9IHtoYXNoID0gMHg3ZmZmMzJjY2U3NDAsIGRhdGEg
PSAweDdmZmYzMmNiMDQ4MCAiIiwgY250ID0gMTAyNCwgZW50cnlfc2l6ZSA9IDU2fQoKKGdkYikg
cHJpbnQgKmZrCgokOCA9IHtzcmNfYWRkciA9IDQxOTQ5NjIwMiwgZHN0X2FkZHIgPSA0NTMwNTA2
MzQsIHNyY19wb3J0ID0gNTM3NjQsIGRzdF9wb3J0ID0gMTE3OTgsIHByb3RvID0gMTcgJ1wwMjEn
fQoKKGdkYikgcwoKb252bV9mdF9sb29rdXAgKHRhYmxlPTB4N2ZmZjMyY2JlNGMwLCBrZXk9MHg3
ZmZmMzJiOTljMDAsIGRhdGE9MHg3ZmZmZjY4ZDJiMDApIGF0IC9ob21lL3poYW5nd2VpMTk4NC9v
cGVuTmV0Vk0tbWFzdGVyL29wZW5OZXRWTS9vbnZtL3NoYXJlZC9vbnZtX2Zsb3dfdGFibGUuYzox
NTEKCjE1MSBzb2Z0cnNzID0gb252bV9zb2Z0cnNzKGtleSk7CgooZ2RiKSBuCgoxNTIgICAgICAg
ICBwcmludGYoInNvZnR3YXJlIHJzcyAlZFxuIiwgc29mdHJzcyk7CgooZ2RiKSBuCgpzb2Z0d2Fy
ZSByc3MgNDAzMTgzNjI0CgoxNTQgICAgICAgICB0YmxfaW5kZXggPSBydGVfaGFzaF9sb29rdXBf
d2l0aF9oYXNoKHRhYmxlLT5oYXNoLCAoY29uc3Qgdm9pZCAqKWtleSwgc29mdHJzcyk7CgooZ2Ri
KSBwcmludCB0YWJsZS0+aGFzaAoKJDkgPSAoc3RydWN0IHJ0ZV9oYXNoICopIDB4N2ZmZjMyY2Nl
NzQwCgooZ2RiKSBwcmludCAqa2V5IAoKJDEwID0ge3NyY19hZGRyID0gNDE5NDk2MjAyLCBkc3Rf
YWRkciA9IDQ1MzA1MDYzNCwgc3JjX3BvcnQgPSA1Mzc2NCwgZHN0X3BvcnQgPSAxMTc5OCwgcHJv
dG8gPSAxNyAnXDAyMSd9CgooZ2RiKSBwcmludCBzb2Z0cnNzCgokMTEgPSA0MDMxODM2MjQKCihn
ZGIpIG4KCgoKCgpQcm9ncmFtIHJlY2VpdmVkIHNpZ25hbCBTSUdTRUdWLCBTZWdtZW50YXRpb24g
ZmF1bHQuCgoweDAwMDAwMDAwMDA0NWZiOTcgaW4gX19ydGVfaGFzaF9sb29rdXBfYnVsayAoKQoK
KGdkYikgYnQKCiMwICAweDAwMDAwMDAwMDA0NWZiOTcgaW4gX19ydGVfaGFzaF9sb29rdXBfYnVs
ayAoKQoKIzEgIDB4MDAwMDAwMDAwMDAwMDAwMCBpbiA/PyAoKQoKCgoKRnJvbSB0aGUgZGVidWcg
bWVzc2FnZSwgdGhlIHBhcmFtZXRlcnMgYXJlIGV4YWN0bHkgdGhlIHNhbWUuIEkgZG8gbm90IGtu
b3cgd2h5IGl0IGhhcyB0aGUgc2VnbWVudGF0aW9uIGZhdWx0LiAKCm15IGxvb2t1cCBmdW5jdGlv
bjoKCmludAoKb252bV9mdF9sb29rdXAoc3RydWN0IG9udm1fZnQqIHRhYmxlLCBzdHJ1Y3Qgb252
bV9mdF9pcHY0XzV0dXBsZSAqa2V5LCBjaGFyKiogZGF0YSkgewoKICAgICAgICBpbnQzMl90IHRi
bF9pbmRleDsKCiAgICAgICAgdWludDMyX3Qgc29mdHJzczsKCgoKCiAgICAgICAgc29mdHJzcyA9
IG9udm1fc29mdHJzcyhrZXkpOwoKICAgICAgICBwcmludGYoInNvZnR3YXJlIHJzcyAlZFxuIiwg
c29mdHJzcyk7CgoKCgogICAgICAgIHRibF9pbmRleCA9IHJ0ZV9oYXNoX2xvb2t1cF93aXRoX2hh
c2godGFibGUtPmhhc2gsIChjb25zdCB2b2lkICopa2V5LCBzb2Z0cnNzKTsKCiAgICAgICAgaWYg
KHRibF9pbmRleCA+PSAwKSB7CgogICAgICAgICAgICAgICAgKmRhdGEgPSBvbnZtX2Z0X2dldF9k
YXRhKHRhYmxlLCB0YmxfaW5kZXgpOwoKICAgICAgICAgICAgICAgIHJldHVybiAwOwoKICAgICAg
ICB9CgogICAgICAgIGVsc2UgewoKICAgICAgICAgICAgICAgIHJldHVybiB0YmxfaW5kZXg7Cgog
ICAgICAgIH0KCn0KCgoKCgoKCkF0IDIwMTYtMDMtMTQgMTA6MTY6NDgsICJEaGFuYSBFYWRhbGEi
IDxlZHJlZGR5QGdtYWlsLmNvbT4gd3JvdGU6Cj5XZSBmb3VuZCBhIHByb2JsZW0gaW4gZHBkay0y
LjIgdXNpbmcgdW5kZXIgbXVsdGktcHJvY2VzcyBlbnZpcm9ubWVudC4KPkhlcmUgaXMgdGhlIGJy
aWVmIGRlc2NyaXB0aW9uIGhvdyB3ZSBhcmUgdXNpbmcgdGhlIGRwZGs6Cj4KPldlIGhhdmUgdHdv
IHByb2Nlc3NlcyBwcm9jMSwgcHJvYzIgdXNpbmcgZHBkay4gVGhlc2UgcHJvYzEgYW5kIHByb2My
IGFyZQo+dHdvIGRpZmZlcmVudCBjb21waWxlZCBiaW5hcmllcy4KPnByb2MxIGlzIHN0YXJ0ZWQg
YXMgcHJpbWFyeSBwcm9jZXNzIGFuZCBwcm9jMiBhcyBzZWNvbmRhcnkgcHJvY2Vzcy4KPgo+cHJv
YzE6Cj5DYWxscyBzcmNIYXNoID0gcnRlX2hhc2hfY3JlYXRlKCJzcmNfaGFzaF9uYW1lIikgdG8g
Y3JlYXRlIHJ0ZV9oYXNoIHN0cnVjdHVyZS4KPkFzIHBhcnQgb2YgdGhpcywgdGhpcyBhcGkgaW5p
dGFsaXplZCB0aGUgcnRlX2hhc2ggc3RydWN0dXJlIGFuZCBzZXQgdGhlCj5zcmNIYXNoLT5ydGVf
aGFzaF9jbXBfZXEgdG8gdGhlIGFkZHJlc3Mgb2YgbWVtY21wKCkgZnJvbSBwcm9jMSBhZGRyZXNz
IHNwYWNlLgo+Cj5wcm9jMjoKPmNhbGxzIHNyY0hhc2ggPSAgcnRlX2hhc2hfZmluZF9leGlzdGlu
Zygic3JjX2hhc2hfbmFtZSIpLgo+VGhpcyBmdW5jdGlvbiBjYWxsIHJldHVybnMgdGhlIHJ0ZV9o
YXNoIGNyZWF0ZWQgYnkgcHJvYzEuCj5UaGlzIHNyY0hhc2gtPnJ0ZV9oYXNoX2NtcF9lcSBzdGls
bCBwb2ludHMgdG8gdGhlIGFkZHJlc3Mgb2YKPm1lbWNtcCgpIGZyb20gcHJvYzEgYWRkcmVzcyBz
cGFjZS4KPkxhdGVyIHByb2MyICBjYWxscwo+cnRlX2hhc2hfbG9va3VwX3dpdGhfaGFzaChzcmNI
YXNoLCAoY29uc3Qgdm9pZCopICZrZXksIGtleS5zaWcpOwo+cnRlX2hhc2hfbG9va3VwX3dpdGhf
aGFzaCgpIGludm9rZXMgX19ydGVfaGFzaF9sb29rdXBfd2l0aF9oYXNoKCksCj53aGljaCBpbiB0
dXJuIGNhbGxzIGgtPnJ0ZV9oYXNoX2NtcF9lcShrZXksIGstPmtleSwgaC0+a2V5X2xlbikuCj5U
aGlzIGxlYWRzIHRvIGEgY3Jhc2ggYXMgaC0+cnRlX2hhc2hfY21wX2VxIGlzIGFuIGFkZHJlc3MK
PmZyb20gcHJvYzEgYWRkcmVzcyBzcGFjZSBhbmQgaXMgaW52YWxpZCBhZGRyZXNzIGluIHByb2My
IGFkZHJlc3Mgc3BhY2UuCj4KPldlIGZvdW5kLCBmcm9tIGRwZGsgZG9jdW1lbnRhdGlvbiwgdGhh
dAo+Cj4iCj4gVGhlIHVzZSBvZiBmdW5jdGlvbiBwb2ludGVycyBiZXR3ZWVuIG11bHRpcGxlIHBy
b2Nlc3Nlcwo+IHJ1bm5pbmcgYmFzZWQgb2YgZGlmZmVyZW50IGNvbXBpbGVkCj4gYmluYXJpZXMg
aXMgbm90IHN1cHBvcnRlZCwgc2luY2UgdGhlIGxvY2F0aW9uIG9mIGEgZ2l2ZW4gZnVuY3Rpb24K
PiBpbiBvbmUgcHJvY2VzcyBtYXkgYmUgZGlmZmVyZW50IHRvCj4gaXRzIGxvY2F0aW9uIGluIGEg
c2Vjb25kLiBUaGlzIHByZXZlbnRzIHRoZSBsaWJydGVfaGFzaCBsaWJyYXJ5Cj4gZnJvbSBiZWhh
dmluZyBwcm9wZXJseSBhcyBpbiBhICBtdWx0aS0KPiB0aHJlYWRlZCBpbnN0YW5jZSwgc2luY2Ug
aXQgdXNlcyBhIHBvaW50ZXIgdG8gdGhlIGhhc2ggZnVuY3Rpb24gaW50ZXJuYWxseS4KPgo+IFRv
IHdvcmsgYXJvdW5kIHRoaXMgaXNzdWUsIGl0IGlzIHJlY29tbWVuZGVkIHRoYXQKPiBtdWx0aS1w
cm9jZXNzIGFwcGxpY2F0aW9ucyBwZXJmb3JtIHRoZSBoYXNoCj4gY2FsY3VsYXRpb25zIGJ5IGRp
cmVjdGx5IGNhbGxpbmcgdGhlIGhhc2hpbmcgZnVuY3Rpb24KPiBmcm9tIHRoZSBjb2RlIGFuZCB0
aGVuIHVzaW5nIHRoZQo+IHJ0ZV9oYXNoX2FkZF93aXRoX2hhc2goKS9ydGVfaGFzaF9sb29rdXBf
d2l0aF9oYXNoKCkgZnVuY3Rpb25zCj4gaW5zdGVhZCBvZiB0aGUgZnVuY3Rpb25zIHdoaWNoIGRv
Cj4gdGhlIGhhc2hpbmcgaW50ZXJuYWxseSwgc3VjaCBhcyBydGVfaGFzaF9hZGQoKS9ydGVfaGFz
aF9sb29rdXAoKS4KPiIKPgo+V2UgZGlkIGZvbGxvdyB0aGUgcmVjb21tZW5kZWQgc3RlcHMgYnkg
aW52b2tpbmcgcnRlX2hhc2hfbG9va3VwX3dpdGhfaGFzaCgpLgo+SXQgd2FzIG5vIGlzc3VlIHVw
IHRvIGFuZCBpbmNsdWRpbmcgZHBkay0yLjAuCj5JbiBsYXRlciByZWxlYXNlcyBzdGFydGVkIGNy
YXNoaW5nIGJlY2F1c2UgcnRlX2hhc2hfY21wX2VxIGlzCj5pbnRyb2R1Y2VkIGluIGRwZGstMi4x
Cj4KPldlIGZpeGVkIGl0IHdpdGggdGhlIGZvbGxvd2luZyBwYXRjaCBhbmQgd291bGQgbGlrZSB0
bwo+c3VibWl0IHRoZSBwYXRjaCB0byBkcGRrLm9yZy4KPlBhdGNoIGlzIGNyZWF0ZWQgc3VjaCB0
aGF0LCBpZiBhbnlvbmUgd2FudGVkIHRvIHVzZSBkcGRrIGluCj5tdWx0aS1wcm9jZXNzIGVudmly
b25tZW50IHdpdGggZnVuY3Rpb24gcG9pbnRlcnMgbm90IHNoYXJlZCwgdGhleSBuZWVkIHRvCj5k
ZWZpbmUgUlRFX0xJQl9NUF9OT19GVU5DX1BUUiBpbiB0aGVpciBNYWtlZmlsZS4KPldpdGhvdXQg
ZGVmaW5pbmcgdGhpcyBmbGFnIGluIE1ha2VmaWxlLCBpdCB3b3JrcyBhcyBpdCBpcyBub3cuCj4K
PlNpZ25lZC1vZmYtYnk6IERoYW5hIEVhZGFsYSA8ZWRyZWRkeUBnbWFpbC5jb20+Cj4tLS0KPiBs
aWIvbGlicnRlX2hhc2gvcnRlX2N1Y2tvb19oYXNoLmMgfCAyOCArKysrKysrKysrKysrKysrKysr
KysrKysrKysrCj4gMSBmaWxlIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKykKPgo+ZGlmZiAtLWdp
dCBhL2xpYi9saWJydGVfaGFzaC9ydGVfY3Vja29vX2hhc2guYyBiL2xpYi9saWJydGVfaGFzaC9y
dGVfY3Vja29vX2hhc2guYwo+aW5kZXggM2UzMTY3Yy4uMDk0Njc3NyAxMDA2NDQKPi0tLSBhL2xp
Yi9saWJydGVfaGFzaC9ydGVfY3Vja29vX2hhc2guYwo+KysrIGIvbGliL2xpYnJ0ZV9oYXNoL3J0
ZV9jdWNrb29faGFzaC5jCj5AQCAtNTk0LDcgKzU5NCwxMSBAQCBfX3J0ZV9oYXNoX2FkZF9rZXlf
d2l0aF9oYXNoKGNvbnN0IHN0cnVjdCBydGVfaGFzaCAqaCwgY29uc3Qgdm9pZCAqa2V5LAo+IAkJ
CQlwcmltX2JrdC0+c2lnbmF0dXJlc1tpXS5hbHQgPT0gYWx0X2hhc2gpIHsKPiAJCQlrID0gKHN0
cnVjdCBydGVfaGFzaF9rZXkgKikgKChjaGFyICopa2V5cyArCj4gCQkJCQlwcmltX2JrdC0+a2V5
X2lkeFtpXSAqIGgtPmtleV9lbnRyeV9zaXplKTsKPisjaWZkZWYgUlRFX0xJQl9NUF9OT19GVU5D
X1BUUgo+KwkJCWlmIChtZW1jbXAoa2V5LCBrLT5rZXksIGgtPmtleV9sZW4pID09IDApIHsKPisj
ZWxzZQo+IAkJCWlmIChoLT5ydGVfaGFzaF9jbXBfZXEoa2V5LCBrLT5rZXksIGgtPmtleV9sZW4p
ID09IDApIHsKPisjZW5kaWYKPiAJCQkJLyogRW5xdWV1ZSBpbmRleCBvZiBmcmVlIHNsb3QgYmFj
ayBpbiB0aGUgcmluZy4gKi8KPiAJCQkJZW5xdWV1ZV9zbG90X2JhY2soaCwgY2FjaGVkX2ZyZWVf
c2xvdHMsIHNsb3RfaWQpOwo+IAkJCQkvKiBVcGRhdGUgZGF0YSAqLwo+QEAgLTYxNCw3ICs2MTgs
MTEgQEAgX19ydGVfaGFzaF9hZGRfa2V5X3dpdGhfaGFzaChjb25zdCBzdHJ1Y3QgcnRlX2hhc2gg
KmgsIGNvbnN0IHZvaWQgKmtleSwKPiAJCQkJc2VjX2JrdC0+c2lnbmF0dXJlc1tpXS5jdXJyZW50
ID09IGFsdF9oYXNoKSB7Cj4gCQkJayA9IChzdHJ1Y3QgcnRlX2hhc2hfa2V5ICopICgoY2hhciAq
KWtleXMgKwo+IAkJCQkJc2VjX2JrdC0+a2V5X2lkeFtpXSAqIGgtPmtleV9lbnRyeV9zaXplKTsK
PisjaWZkZWYgUlRFX0xJQl9NUF9OT19GVU5DX1BUUgo+KwkJCWlmIChtZW1jbXAoa2V5LCBrLT5r
ZXksIGgtPmtleV9sZW4pID09IDApIHsKPisjZWxzZQo+IAkJCWlmIChoLT5ydGVfaGFzaF9jbXBf
ZXEoa2V5LCBrLT5rZXksIGgtPmtleV9sZW4pID09IDApIHsKPisjZW5kaWYKPiAJCQkJLyogRW5x
dWV1ZSBpbmRleCBvZiBmcmVlIHNsb3QgYmFjayBpbiB0aGUgcmluZy4gKi8KPiAJCQkJZW5xdWV1
ZV9zbG90X2JhY2soaCwgY2FjaGVkX2ZyZWVfc2xvdHMsIHNsb3RfaWQpOwo+IAkJCQkvKiBVcGRh
dGUgZGF0YSAqLwo+QEAgLTcyNSw3ICs3MzMsMTEgQEAgX19ydGVfaGFzaF9sb29rdXBfd2l0aF9o
YXNoKGNvbnN0IHN0cnVjdCBydGVfaGFzaCAqaCwgY29uc3Qgdm9pZCAqa2V5LAo+IAkJCQlia3Qt
PnNpZ25hdHVyZXNbaV0uc2lnICE9IE5VTExfU0lHTkFUVVJFKSB7Cj4gCQkJayA9IChzdHJ1Y3Qg
cnRlX2hhc2hfa2V5ICopICgoY2hhciAqKWtleXMgKwo+IAkJCQkJYmt0LT5rZXlfaWR4W2ldICog
aC0+a2V5X2VudHJ5X3NpemUpOwo+KyNpZmRlZiBSVEVfTElCX01QX05PX0ZVTkNfUFRSCj4rCQkJ
aWYgKG1lbWNtcCAoa2V5LCBrLT5rZXksIGgtPmtleV9sZW4pID09IDApIHsKPisjZWxzZQo+IAkJ
CWlmIChoLT5ydGVfaGFzaF9jbXBfZXEoa2V5LCBrLT5rZXksIGgtPmtleV9sZW4pID09IDApIHsK
PisjZW5kaWYKPiAJCQkJaWYgKGRhdGEgIT0gTlVMTCkKPiAJCQkJCSpkYXRhID0gay0+cGRhdGE7
Cj4gCQkJCS8qCj5AQCAtNzQ4LDcgKzc2MCwxMSBAQCBfX3J0ZV9oYXNoX2xvb2t1cF93aXRoX2hh
c2goY29uc3Qgc3RydWN0IHJ0ZV9oYXNoICpoLCBjb25zdCB2b2lkICprZXksCj4gCQkJCWJrdC0+
c2lnbmF0dXJlc1tpXS5hbHQgPT0gc2lnKSB7Cj4gCQkJayA9IChzdHJ1Y3QgcnRlX2hhc2hfa2V5
ICopICgoY2hhciAqKWtleXMgKwo+IAkJCQkJYmt0LT5rZXlfaWR4W2ldICogaC0+a2V5X2VudHJ5
X3NpemUpOwo+KyNpZmRlZiBSVEVfTElCX01QX05PX0ZVTkNfUFRSCj4rCQkJaWYgKG1lbWNtcChr
ZXksIGstPmtleSwgaC0+a2V5X2xlbikgPT0gMCkgewo+KyNlbHNlCj4gCQkJaWYgKGgtPnJ0ZV9o
YXNoX2NtcF9lcShrZXksIGstPmtleSwgaC0+a2V5X2xlbikgPT0gMCkgewo+KyNlbmRpZgo+IAkJ
CQlpZiAoZGF0YSAhPSBOVUxMKQo+IAkJCQkJKmRhdGEgPSBrLT5wZGF0YTsKPiAJCQkJLyoKPkBA
IC04NDAsNyArODU2LDExIEBAIF9fcnRlX2hhc2hfZGVsX2tleV93aXRoX2hhc2goY29uc3Qgc3Ry
dWN0IHJ0ZV9oYXNoICpoLCBjb25zdCB2b2lkICprZXksCj4gCQkJCWJrdC0+c2lnbmF0dXJlc1tp
XS5zaWcgIT0gTlVMTF9TSUdOQVRVUkUpIHsKPiAJCQlrID0gKHN0cnVjdCBydGVfaGFzaF9rZXkg
KikgKChjaGFyICopa2V5cyArCj4gCQkJCQlia3QtPmtleV9pZHhbaV0gKiBoLT5rZXlfZW50cnlf
c2l6ZSk7Cj4rI2lmZGVmIFJURV9MSUJfTVBfTk9fRlVOQ19QVFIKPisJCQlpZiAobWVtY21wKGtl
eSwgay0+a2V5LCBoLT5rZXlfbGVuKSA9PSAwKSB7Cj4rI2Vsc2UKPiAJCQlpZiAoaC0+cnRlX2hh
c2hfY21wX2VxKGtleSwgay0+a2V5LCBoLT5rZXlfbGVuKSA9PSAwKSB7Cj4rI2VuZGlmCj4gCQkJ
CXJlbW92ZV9lbnRyeShoLCBia3QsIGkpOwo+IAo+IAkJCQkvKgo+QEAgLTg2Myw3ICs4ODMsMTEg
QEAgX19ydGVfaGFzaF9kZWxfa2V5X3dpdGhfaGFzaChjb25zdCBzdHJ1Y3QgcnRlX2hhc2ggKmgs
IGNvbnN0IHZvaWQgKmtleSwKPiAJCQkJYmt0LT5zaWduYXR1cmVzW2ldLnNpZyAhPSBOVUxMX1NJ
R05BVFVSRSkgewo+IAkJCWsgPSAoc3RydWN0IHJ0ZV9oYXNoX2tleSAqKSAoKGNoYXIgKilrZXlz
ICsKPiAJCQkJCWJrdC0+a2V5X2lkeFtpXSAqIGgtPmtleV9lbnRyeV9zaXplKTsKPisjaWZkZWYg
UlRFX0xJQl9NUF9OT19GVU5DX1BUUgo+KwkJCWlmIChtZW1jbXAoa2V5LCBrLT5rZXksIGgtPmtl
eV9sZW4pID09IDApIHsKPisjZWxzZQo+IAkJCWlmIChoLT5ydGVfaGFzaF9jbXBfZXEoa2V5LCBr
LT5rZXksIGgtPmtleV9sZW4pID09IDApIHsKPisjZW5kaWYKPiAJCQkJcmVtb3ZlX2VudHJ5KGgs
IGJrdCwgaSk7Cj4gCj4gCQkJCS8qCj5AQCAtOTgwLDcgKzEwMDQsMTEgQEAgbG9va3VwX3N0YWdl
Myh1bnNpZ25lZCBpZHgsIGNvbnN0IHN0cnVjdCBydGVfaGFzaF9rZXkgKmtleV9zbG90LCBjb25z
dCB2b2lkICogY28KPiAJdW5zaWduZWQgaGl0Owo+IAl1bnNpZ25lZCBrZXlfaWR4Owo+IAo+KyNp
ZmRlZiBSVEVfTElCX01QX05PX0ZVTkNfUFRSCj4rCWhpdCA9ICFtZW1jbXAoa2V5X3Nsb3QtPmtl
eSwga2V5c1tpZHhdLCBoLT5rZXlfbGVuKTsKPisjZWxzZQo+IAloaXQgPSAhaC0+cnRlX2hhc2hf
Y21wX2VxKGtleV9zbG90LT5rZXksIGtleXNbaWR4XSwgaC0+a2V5X2xlbik7Cj4rI2VuZGlmCj4g
CWlmIChkYXRhICE9IE5VTEwpCj4gCQlkYXRhW2lkeF0gPSBrZXlfc2xvdC0+cGRhdGE7Cj4gCj4t
LSAKPjIuNS4wCj4K
>From zhetao@shecgisg004.sh.intel.com  Mon Mar 14 04:42:45 2016
Return-Path: <zhetao@shecgisg004.sh.intel.com>
Received: from mga01.intel.com (mga01.intel.com [192.55.52.88])
 by dpdk.org (Postfix) with ESMTP id E6C0247CD
 for <dev@dpdk.org>; Mon, 14 Mar 2016 04:42:44 +0100 (CET)
Received: from fmsmga002.fm.intel.com ([10.253.24.26])
 by fmsmga101.fm.intel.com with ESMTP; 13 Mar 2016 20:42:43 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.24,334,1455004800"; d="scan'208";a="936338503"
Received: from shvmail01.sh.intel.com ([10.239.29.42])
 by fmsmga002.fm.intel.com with ESMTP; 13 Mar 2016 20:42:43 -0700
Received: from shecgisg004.sh.intel.com (shecgisg004.sh.intel.com
 [10.239.29.89])
 by shvmail01.sh.intel.com with ESMTP id u2E3gf4i032521;
 Mon, 14 Mar 2016 11:42:41 +0800
Received: from shecgisg004.sh.intel.com (localhost [127.0.0.1])
 by shecgisg004.sh.intel.com (8.13.6/8.13.6/SuSE Linux 0.8) with ESMTP id
 u2E3gcKD024035; Mon, 14 Mar 2016 11:42:40 +0800
Received: (from zhetao@localhost)
 by shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id u2E3gcta024031;
 Mon, 14 Mar 2016 11:42:38 +0800
From: Zhe Tao <zhe.tao@intel.com>
To: dev@dpdk.org
Cc: zhe.tao@intel.com, jingjing.wu@intel.com
Date: Mon, 14 Mar 2016 11:42:36 +0800
Message-Id: <1457926956-23910-1-git-send-email-zhe.tao@intel.com>
X-Mailer: git-send-email 1.7.4.1
In-Reply-To: <1457426981-22571-1-git-send-email-zhe.tao@intel.com>
References: <1457426981-22571-1-git-send-email-zhe.tao@intel.com>
Subject: [dpdk-dev] [PATCH v3] ixgbe: fix ixgbevf RX/TX function assignment
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches and discussions about DPDK <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Mon, 14 Mar 2016 03:42:45 -0000

For the secondary process of DPDK to initialize ixgbevf, it will always
use the simple RX function or LRO RX function, and this behavior is not
the same RX/TX function selection logic as it is for the primary process,
so use the ixgbe_set_tx_function and ixgbe_set_rx_function to select the
RX/TX function when secondary process call the init function for eth dev.  

Fixes: 46bc9d75 (ixgbe: fix multi-process support)

Signed-off-by: Zhe Tao <zhe.tao@intel.com>
---
V2:added fixes line
V3:changed fixes line

 drivers/net/ixgbe/ixgbe_ethdev.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 3e6fe86..0f9d048 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -1278,8 +1278,21 @@ eth_ixgbevf_dev_init(struct rte_eth_dev *eth_dev)
 	 * has already done this work. Only check we don't need a different
 	 * RX function */
 	if (rte_eal_process_type() != RTE_PROC_PRIMARY){
-		if (eth_dev->data->scattered_rx)
-			eth_dev->rx_pkt_burst = ixgbe_recv_pkts_lro_single_alloc;
+		struct ixgbe_tx_queue *txq;
+		/* TX queue function in primary, set by last queue initialized
+		 * Tx queue may not initialized by primary process
+		 */
+		if (eth_dev->data->tx_queues) {
+			txq = eth_dev->data->tx_queues[eth_dev->data->nb_tx_queues-1];
+			ixgbe_set_tx_function(eth_dev, txq);
+		} else {
+			/* Use default TX function if we get here */
+			PMD_INIT_LOG(NOTICE, "No TX queues configured yet. "
+					     "Using default TX function.");
+		}
+
+		ixgbe_set_rx_function(eth_dev);
+
 		return 0;
 	}
 
-- 
2.1.4