From mboxrd@z Thu Jan 1 00:00:00 1970 From: mablexidana Subject: [PATCH 1/2] lpm: add strict if control etc. on version 1.2.3 Date: Fri, 23 Oct 2015 15:38:38 +0800 (CST) Message-ID: <29f00a47.e2cb.15093a29920.Coremail.mablexidana@163.com> Mime-Version: 1.0 Content-Type: text/plain; charset=GBK Content-Transfer-Encoding: base64 To: dev@dpdk.org Return-path: Received: from m13-4.163.com (m13-4.163.com [220.181.13.4]) by dpdk.org (Postfix) with ESMTP id 39398C458 for ; Fri, 23 Oct 2015 09:38:42 +0200 (CEST) List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" aGk6ClRoaXMgaXMgdGVzdCBvbiBkcGRrIHZlcnNpb24gMS4yLjMuICAgICAgICAgCkZpeGVzOiAy YTIxNzQ4MDFmYTQgKCIgICAgZml4IGxwbSBidWdzICAgICBhZGQgc3RyaWN0IGlmIGNvbnRyb2ws ZG8gbm90IGxldCB0YmwyNCBwcm9jZXNzIHJ1biBpbnRvIHRibDggcHJvY2VzcyAgICAgYWRkIHZh bGlkX2dyb3VwID0gdmFsaWQsIGluY2FzZSAsdGhlIHZhbGlkX2dyb3VwIGlzIHdyaXRlIHRvIGlu dmFsaWQiKQoKCmFkZCBzdHJpY3QgaWYgY29udHJvbCxkbyBub3QgbGV0IHRibDI0IHByb2Nlc3Mg cnVuIGludG8gdGJsOCBwcm9jZXNzCmFkZCB2YWxpZF9ncm91cCA9IHZhbGlkLCBpbmNhc2UgLHRo ZSB2YWxpZF9ncm91cCBpcyB3cml0ZSB0byBpbnZhbGlkCgoKUmVnYXJkcwoKCnl1ZXJ4aW4KCgot LS0KIGxpYi9saWJydGVfbHBtL3J0ZV9scG0uYyB8IDg5ICsrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDUwIGluc2VydGlvbnMo KyksIDM5IGRlbGV0aW9ucygtKQoKCmRpZmYgLS1naXQgYS9saWIvbGlicnRlX2xwbS9ydGVfbHBt LmMgYi9saWIvbGlicnRlX2xwbS9ydGVfbHBtLmMKaW5kZXggYmIxZWM0OC4uOGZhYmYzMCAxMDA2 NDQKLS0tIGEvbGliL2xpYnJ0ZV9scG0vcnRlX2xwbS5jCisrKyBiL2xpYi9saWJydGVfbHBtL3J0 ZV9scG0uYwpAQCAtNDIzLDMzICs0MjMsMzUgQEAgYWRkX2RlcHRoX3NtYWxsKHN0cnVjdCBydGVf bHBtICpscG0sIHVpbnQzMl90IGlwLCB1aW50OF90IGRlcHRoLAoKCiBjb250aW51ZTsKIH0KLQot LyogSWYgdGJsMjQgZW50cnkgaXMgdmFsaWQgYW5kIGV4dGVuZGVkIGNhbGN1bGF0ZSB0aGUgaW5k ZXgKLSAqIGludG8gdGJsOC4gKi8KLXRibDhfaW5kZXggPSBscG0tPnRibDI0W3RibDI0X2luZGV4 XS50Ymw4X2dpbmRleCAqCi1SVEVfTFBNX1RCTDhfR1JPVVBfTlVNX0VOVFJJRVM7Ci10Ymw4X2dy b3VwX2VuZCA9IHRibDhfaW5kZXggKyBSVEVfTFBNX1RCTDhfR1JPVVBfTlVNX0VOVFJJRVM7Ci0K LWZvciAoaiA9IHRibDhfaW5kZXg7IGogPCB0Ymw4X2dyb3VwX2VuZDsgaisrKSB7Ci1pZiAoIWxw bS0+dGJsOFtqXS52YWxpZCB8fAotbHBtLT50Ymw4W2pdLmRlcHRoIDw9IGRlcHRoKSB7Ci1zdHJ1 Y3QgcnRlX2xwbV90Ymw4X2VudHJ5IG5ld190Ymw4X2VudHJ5ID0gewotLnZhbGlkID0gVkFMSUQs Ci0udmFsaWRfZ3JvdXAgPSBWQUxJRCwKLS5kZXB0aCA9IGRlcHRoLAotLm5leHRfaG9wID0gbmV4 dF9ob3AsCi19OwotCi0vKgotICogU2V0dGluZyB0Ymw4IGVudHJ5IGluIG9uZSBnbyB0byBhdm9p ZCByYWNlCi0gKiBjb25kaXRpb25zCi0gKi8KLWxwbS0+dGJsOFtqXSA9IG5ld190Ymw4X2VudHJ5 OwotCi1jb250aW51ZTsKLX0KLX0KLX0KKyAgICAgICAgaWYgKGxwbS0+dGJsMjRbaV0uZXh0X2Vu dHJ5ID09IDEpIHsKKworICAgICAgICAgICAgLyogSWYgdGJsMjQgZW50cnkgaXMgdmFsaWQgYW5k IGV4dGVuZGVkIGNhbGN1bGF0ZSB0aGUgaW5kZXgKKyAgICAgICAgICAgICAqIGludG8gdGJsOC4g Ki8KKyAgICAgICAgICAgIHRibDhfaW5kZXggPSBscG0tPnRibDI0W2ldLnRibDhfZ2luZGV4ICoK KyAgICAgICAgICAgICAgICBSVEVfTFBNX1RCTDhfR1JPVVBfTlVNX0VOVFJJRVM7CisgICAgICAg ICAgICB0Ymw4X2dyb3VwX2VuZCA9IHRibDhfaW5kZXggKyBSVEVfTFBNX1RCTDhfR1JPVVBfTlVN X0VOVFJJRVM7CisKKyAgICAgICAgICAgIGZvciAoaiA9IHRibDhfaW5kZXg7IGogPCB0Ymw4X2dy b3VwX2VuZDsgaisrKSB7CisgICAgICAgICAgICAgICAgaWYgKCFscG0tPnRibDhbal0udmFsaWQg fHwKKyAgICAgICAgICAgICAgICAgICAgbHBtLT50Ymw4W2pdLmRlcHRoIDw9IGRlcHRoKSB7Cisg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfbHBtX3RibDhfZW50cnkgbmV3X3RibDhfZW50 cnkgPSB7CisgICAgICAgICAgICAgICAgICAgICAgICAudmFsaWQgPSBWQUxJRCwKKyAgICAgICAg ICAgICAgICAgICAgICAgIC52YWxpZF9ncm91cCA9IFZBTElELAorICAgICAgICAgICAgICAgICAg ICAgICAgLmRlcHRoID0gZGVwdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAubmV4dF9ob3Ag PSBuZXh0X2hvcCwKKyAgICAgICAgICAgICAgICAgICAgfTsKKworICAgICAgICAgICAgICAgICAg ICAvKgorICAgICAgICAgICAgICAgICAgICAgKiBTZXR0aW5nIHRibDggZW50cnkgaW4gb25lIGdv IHRvIGF2b2lkIHJhY2UKKyAgICAgICAgICAgICAgICAgICAgICogY29uZGl0aW9ucworICAgICAg ICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgbHBtLT50Ymw4W2pdID0gbmV3 X3RibDhfZW50cnk7CisKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAg ICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQoKCiByZXR1cm4gMDsKIH0K QEAgLTU2OSw2ICs1NzEsNyBAQCBhZGRfZGVwdGhfYmlnKHN0cnVjdCBydGVfbHBtICpscG0sIHVp bnQzMl90IGlwX21hc2tlZCwgdWludDhfdCBkZXB0aCwKIC52YWxpZCA9IFZBTElELAogLmRlcHRo ID0gZGVwdGgsCiAubmV4dF9ob3AgPSBuZXh0X2hvcCwKKyAgICAgICAgICAudmFsaWRfZ3JvdXAg PSBscG0tPnRibDhbaV0udmFsaWRfZ3JvdXAsICAgICAgLy9zYXZlIGZvciBvbGQgZ3JvdXBzIGdf dmFsaWQgZmxhZ3MKIH07CgoKIC8qCkBAIC02MzQsNyArNjM3LDcgQEAgcnRlX2xwbV9hZGQoc3Ry dWN0IHJ0ZV9scG0gKmxwbSwgdWludDMyX3QgaXAsIHVpbnQ4X3QgZGVwdGgsCiB9CgoKIHN0YXRp YyBpbmxpbmUgaW50MzJfdAotZmluZF9wcmV2aW91c19ydWxlKHN0cnVjdCBydGVfbHBtICpscG0s IHVpbnQzMl90IGlwLCB1aW50OF90IGRlcHRoKQorZmluZF9wcmV2aW91c19ydWxlKHN0cnVjdCBy dGVfbHBtICpscG0sIHVpbnQzMl90IGlwLCB1aW50OF90IGRlcHRoLCB1aW50OF90ICpzdWJfcnVs ZV9kZXB0aCkKIHsKIGludDMyX3QgcnVsZV9pbmRleDsKIHVpbnQzMl90IGlwX21hc2tlZDsKQEAg LTY0NSw4ICs2NDgsMTAgQEAgZmluZF9wcmV2aW91c19ydWxlKHN0cnVjdCBydGVfbHBtICpscG0s IHVpbnQzMl90IGlwLCB1aW50OF90IGRlcHRoKQoKCiBydWxlX2luZGV4ID0gcnVsZV9maW5kKGxw bSwgaXBfbWFza2VkLCBwcmV2X2RlcHRoKTsKCgotaWYgKHJ1bGVfaW5kZXggPj0gMCkKK2lmIChy dWxlX2luZGV4ID49IDApIHsKKyAgICAgICAgICAgICpzdWJfcnVsZV9kZXB0aCA9IHByZXZfZGVw dGg7CiByZXR1cm4gcnVsZV9pbmRleDsKKyAgICAgICAgfQogfQoKCiByZXR1cm4gLTE7CkBAIC02 NTQsNyArNjU5LDcgQEAgZmluZF9wcmV2aW91c19ydWxlKHN0cnVjdCBydGVfbHBtICpscG0sIHVp bnQzMl90IGlwLCB1aW50OF90IGRlcHRoKQoKCiBzdGF0aWMgaW5saW5lIGludDMyX3QKIGRlbGV0 ZV9kZXB0aF9zbWFsbChzdHJ1Y3QgcnRlX2xwbSAqbHBtLCB1aW50MzJfdCBpcF9tYXNrZWQsCi11 aW50OF90IGRlcHRoLCBpbnQzMl90IHN1Yl9ydWxlX2luZGV4KQordWludDhfdCBkZXB0aCwgaW50 MzJfdCBzdWJfcnVsZV9pbmRleCwgdWludDhfdCBzdWJfcnVsZV9kZXB0aCkKIHsKIHVpbnQzMl90 IHRibDI0X3JhbmdlLCB0YmwyNF9pbmRleCwgdGJsOF9ncm91cF9pbmRleCwgdGJsOF9pbmRleCwg aSwgajsKIHVpbnQ4X3QgbmV3X2RlcHRoOwpAQCAtNjc3LDcgKzY4Miw3IEBAIGRlbGV0ZV9kZXB0 aF9zbWFsbChzdHJ1Y3QgcnRlX2xwbSAqbHBtLCB1aW50MzJfdCBpcF9tYXNrZWQsCiBscG0tPnRi bDI0W2ldLmRlcHRoIDw9IGRlcHRoICkgewogbHBtLT50YmwyNFtpXS52YWxpZCA9IElOVkFMSUQ7 CiB9Ci1lbHNlIHsKK2Vsc2UgaWYgKGxwbS0+dGJsMjRbaV0uZXh0X2VudHJ5ID09IDEpIHsKIC8q CiAgKiBJZiBUQkwyNCBlbnRyeSBpcyBleHRlbmRlZCwgdGhlbiB0aGVyZSBoYXMKICAqIHRvIGJl IGEgcnVsZSB3aXRoIGRlcHRoID49IDI1IGluIHRoZQpAQCAtNzAzLDE5ICs3MDgsMjEgQEAgZGVs ZXRlX2RlcHRoX3NtYWxsKHN0cnVjdCBydGVfbHBtICpscG0sIHVpbnQzMl90IGlwX21hc2tlZCwK ICAqLwoKCiAvKiBDYWxjdWxhdGUgZGVwdGggb2Ygc3ViX3J1bGUuICovCisKIG5ld19kZXB0aCA9 ICh1aW50OF90KSAoc3ViX3J1bGVfaW5kZXggLwogbHBtLT5tYXhfcnVsZXNfcGVyX2RlcHRoKTsK Cgogc3RydWN0IHJ0ZV9scG1fdGJsMjRfZW50cnkgbmV3X3RibDI0X2VudHJ5ID0gewogLnZhbGlk ID0gVkFMSUQsCiAuZXh0X2VudHJ5ID0gMCwKLS5kZXB0aCA9IG5ld19kZXB0aCwKKyAgICAgICAg ICAgIC5kZXB0aCA9IHN1Yl9ydWxlX2RlcHRoLAogey5uZXh0X2hvcCA9IGxwbS0+cnVsZXNfdGJs W3N1Yl9ydWxlX2luZGV4XS5uZXh0X2hvcCx9CiB9OwoKCiBzdHJ1Y3QgcnRlX2xwbV90Ymw4X2Vu dHJ5IG5ld190Ymw4X2VudHJ5ID0gewogLnZhbGlkID0gVkFMSUQsCi0uZGVwdGggPSBuZXdfZGVw dGgsCisgICAgICAgICAgICAudmFsaWRfZ3JvdXAgPSBWQUxJRCwKKy5kZXB0aCA9IHN1Yl9ydWxl X2RlcHRoLAogLm5leHRfaG9wID0gbHBtLT5ydWxlc190YmwKIFtzdWJfcnVsZV9pbmRleF0ubmV4 dF9ob3AsCiB9OwpAQCAtNzI2LDcgKzczMyw3IEBAIGRlbGV0ZV9kZXB0aF9zbWFsbChzdHJ1Y3Qg cnRlX2xwbSAqbHBtLCB1aW50MzJfdCBpcF9tYXNrZWQsCiBscG0tPnRibDI0W2ldLmRlcHRoIDw9 IGRlcHRoICkgewogbHBtLT50YmwyNFtpXSA9IG5ld190YmwyNF9lbnRyeTsKIH0KLWVsc2Ugewor ZWxzZSBpZiAobHBtLT50YmwyNFtpXS5leHRfZW50cnkgPT0gMSl7CiAvKgogICogSWYgVEJMMjQg ZW50cnkgaXMgZXh0ZW5kZWQsIHRoZW4gdGhlcmUgaGFzCiAgKiB0byBiZSBhIHJ1bGUgd2l0aCBk ZXB0aCA+PSAyNSBpbiB0aGUKQEAgLTgwNyw3ICs4MTQsNyBAQCB0Ymw4X3JlY3ljbGVfY2hlY2so c3RydWN0IHJ0ZV9scG1fdGJsOF9lbnRyeSAqdGJsOCwgdWludDMyX3QgdGJsOF9ncm91cF9zdGFy dCkKCgogc3RhdGljIGlubGluZSBpbnQzMl90CiBkZWxldGVfZGVwdGhfYmlnKHN0cnVjdCBydGVf bHBtICpscG0sIHVpbnQzMl90IGlwX21hc2tlZCwKLXVpbnQ4X3QgZGVwdGgsIGludDMyX3Qgc3Vi X3J1bGVfaW5kZXgpCit1aW50OF90IGRlcHRoLCBpbnQzMl90IHN1Yl9ydWxlX2luZGV4LCB1aW50 OF90IHN1Yl9ydWxlX2RlcHRoKQogewogdWludDMyX3QgdGJsMjRfaW5kZXgsIHRibDhfZ3JvdXBf aW5kZXgsIHRibDhfZ3JvdXBfc3RhcnQsIHRibDhfaW5kZXgsCiB0Ymw4X3JhbmdlLCBpOwpAQCAt ODQzLDcgKzg1MCw4IEBAIGRlbGV0ZV9kZXB0aF9iaWcoc3RydWN0IHJ0ZV9scG0gKmxwbSwgdWlu dDMyX3QgaXBfbWFza2VkLAogLyogU2V0IG5ldyB0Ymw4IGVudHJ5LiAqLwogc3RydWN0IHJ0ZV9s cG1fdGJsOF9lbnRyeSBuZXdfdGJsOF9lbnRyeSA9IHsKIC52YWxpZCA9IFZBTElELAotLmRlcHRo ID0gbmV3X2RlcHRoLAorLnZhbGlkX2dyb3VwID0gbHBtLT50Ymw4W3RibDhfZ3JvdXBfc3RhcnRd LnZhbGlkX2dyb3VwLAorLmRlcHRoID0gc3ViX3J1bGVfZGVwdGgsCiAubmV4dF9ob3AgPSBscG0t PnJ1bGVzX3RibFtzdWJfcnVsZV9pbmRleF0ubmV4dF9ob3AsCiB9OwoKCkBAIC05MDAsNiArOTA4 LDcgQEAgcnRlX2xwbV9kZWxldGUoc3RydWN0IHJ0ZV9scG0gKmxwbSwgdWludDMyX3QgaXAsIHVp bnQ4X3QgZGVwdGgpCiB7CiBpbnQzMl90IHJ1bGVfdG9fZGVsZXRlX2luZGV4LCBzdWJfcnVsZV9p bmRleDsKIHVpbnQzMl90IGlwX21hc2tlZDsKKyAgICB1aW50OF90IHN1Yl9ydWxlX2RlcHRoOwog LyoKICAqIENoZWNrIGlucHV0IGFyZ3VtZW50cy4gTm90ZTogSVAgbXVzdCBiZSBhIHBvc2l0aXZl IGludGVnZXIgb2YgMzIKICAqIGJpdHMgaW4gbGVuZ3RoIHRoZXJlZm9yZSBpdCBuZWVkIG5vdCBi ZSBjaGVja2VkLgpAQCAtOTMxLDcgKzk0MCw4IEBAIHJ0ZV9scG1fZGVsZXRlKHN0cnVjdCBydGVf bHBtICpscG0sIHVpbnQzMl90IGlwLCB1aW50OF90IGRlcHRoKQogICogcmVwbGFjZSB0aGUgcnVs ZV90b19kZWxldGUgd2UgcmV0dXJuIC0xIGFuZCBpbnZhbGlkYXRlIHRoZSB0YWJsZQogICogZW50 cmllcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBydWxlLgogICovCi1zdWJfcnVsZV9pbmRleCA9IGZp bmRfcHJldmlvdXNfcnVsZShscG0sIGlwLCBkZXB0aCk7CisgICAgc3ViX3J1bGVfZGVwdGggPSAw Oworc3ViX3J1bGVfaW5kZXggPSBmaW5kX3ByZXZpb3VzX3J1bGUobHBtLCBpcCwgZGVwdGgsJnN1 Yl9ydWxlX2RlcHRoKTsKCgogLyoKICAqIElmIHRoZSBpbnB1dCBkZXB0aCB2YWx1ZSBpcyBsZXNz IHRoYW4gMjUgdXNlIGZ1bmN0aW9uCkBAIC05MzksMTAgKzk0OSwxMSBAQCBydGVfbHBtX2RlbGV0 ZShzdHJ1Y3QgcnRlX2xwbSAqbHBtLCB1aW50MzJfdCBpcCwgdWludDhfdCBkZXB0aCkKICAqLwog aWYgKGRlcHRoIDw9IE1BWF9ERVBUSF9UQkwyNCkgewogcmV0dXJuIGRlbGV0ZV9kZXB0aF9zbWFs bChscG0sIGlwX21hc2tlZCwgZGVwdGgsCi1zdWJfcnVsZV9pbmRleCk7CitzdWJfcnVsZV9pbmRl eCwgc3ViX3J1bGVfZGVwdGgpOwogfQogZWxzZSB7IC8qIElmIGRlcHRoID4gTUFYX0RFUFRIX1RC TDI0ICovCi1yZXR1cm4gZGVsZXRlX2RlcHRoX2JpZyhscG0sIGlwX21hc2tlZCwgZGVwdGgsIHN1 Yl9ydWxlX2luZGV4KTsKK3JldHVybiBkZWxldGVfZGVwdGhfYmlnKGxwbSwgaXBfbWFza2VkLCBk ZXB0aCwgc3ViX3J1bGVfaW5kZXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1 Yl9ydWxlX2RlcHRoKTsKIH0KIH0KCgotLQoxLjguNS4yIChBcHBsZSBHaXQtNDgpCgo=