From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joe Stringer Subject: [PATCH net-next v14 1/5] openvswitch: Refactor ovs_nla_fill_match(). Date: Wed, 21 Jan 2015 16:42:48 -0800 Message-ID: <1421887372-56414-2-git-send-email-joestringer@nicira.com> References: <1421887372-56414-1-git-send-email-joestringer@nicira.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: dev-yBygre7rU0TnMu66kgdUjQ@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Return-path: In-Reply-To: <1421887372-56414-1-git-send-email-joestringer-l0M0P4e3n4LQT0dZR+AlfA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-yBygre7rU0TnMu66kgdUjQ@public.gmane.org Sender: "dev" List-Id: netdev.vger.kernel.org UmVmYWN0b3IgdGhlIG92c19ubGFfZmlsbF9tYXRjaCgpIGZ1bmN0aW9uIGludG8gc2VwYXJhdGUg bmV0bGluawpzZXJpYWxpemF0aW9uIGZ1bmN0aW9ucyBvdnNfbmxhX3B1dF97dW5tYXNrZWRfa2V5 LG1hc2t9KCkuIE1vZGlmeQpvdnNfbmxhX3B1dF9mbG93KCkgdG8gaGFuZGxlIGF0dHJpYnV0ZSBu ZXN0aW5nIGFuZCBleHBvc2UgdGhlICdpc19tYXNrJwpwYXJhbWV0ZXIgLSBhbGwgY2FsbGVycyBu ZWVkIHRvIG5lc3QgdGhlIGZsb3csIGFuZCBjYWxsZXJzIGhhdmUgYmV0dGVyCmtub3dsZWRnZSBh Ym91dCB3aGV0aGVyIGl0IGlzIHNlcmlhbGl6aW5nIGEgbWFzayBvciBub3QuCgpTaWduZWQtb2Zm LWJ5OiBKb2UgU3RyaW5nZXIgPGpvZXN0cmluZ2VyQG5pY2lyYS5jb20+Ci0tLQogbmV0L29wZW52 c3dpdGNoL2RhdGFwYXRoLmMgICAgIHwgICA0MSArKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCiBuZXQvb3BlbnZzd2l0Y2gvZmxvd19uZXRsaW5rLmMgfCAgIDM4ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIG5ldC9vcGVudnN3aXRjaC9mbG93X25l dGxpbmsuaCB8ICAgIDcgKysrKystLQogMyBmaWxlcyBjaGFuZ2VkLCA0NiBpbnNlcnRpb25zKCsp LCA0MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGgu YyBiL25ldC9vcGVudnN3aXRjaC9kYXRhcGF0aC5jCmluZGV4IGY0NWYxYmYuLjI1N2I5NzUgMTAw NjQ0Ci0tLSBhL25ldC9vcGVudnN3aXRjaC9kYXRhcGF0aC5jCisrKyBiL25ldC9vcGVudnN3aXRj aC9kYXRhcGF0aC5jCkBAIC00NjEsMTAgKzQ2MSw4IEBAIHN0YXRpYyBpbnQgcXVldWVfdXNlcnNw YWNlX3BhY2tldChzdHJ1Y3QgZGF0YXBhdGggKmRwLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCQkJ ICAgICAwLCB1cGNhbGxfaW5mby0+Y21kKTsKIAl1cGNhbGwtPmRwX2lmaW5kZXggPSBkcF9pZmlu ZGV4OwogCi0JbmxhID0gbmxhX25lc3Rfc3RhcnQodXNlcl9za2IsIE9WU19QQUNLRVRfQVRUUl9L RVkpOwotCWVyciA9IG92c19ubGFfcHV0X2Zsb3coa2V5LCBrZXksIHVzZXJfc2tiKTsKKwllcnIg PSBvdnNfbmxhX3B1dF9rZXkoa2V5LCBrZXksIE9WU19QQUNLRVRfQVRUUl9LRVksIGZhbHNlLCB1 c2VyX3NrYik7CiAJQlVHX09OKGVycik7Ci0JbmxhX25lc3RfZW5kKHVzZXJfc2tiLCBubGEpOwog CiAJaWYgKHVwY2FsbF9pbmZvLT51c2VyZGF0YSkKIAkJX19ubGFfcHV0KHVzZXJfc2tiLCBPVlNf UEFDS0VUX0FUVFJfVVNFUkRBVEEsCkBAIC02NzYsMzcgKzY3NCw2IEBAIHN0YXRpYyBzaXplX3Qg b3ZzX2Zsb3dfY21kX21zZ19zaXplKGNvbnN0IHN0cnVjdCBzd19mbG93X2FjdGlvbnMgKmFjdHMp CiB9CiAKIC8qIENhbGxlZCB3aXRoIG92c19tdXRleCBvciBSQ1UgcmVhZCBsb2NrLiAqLwotc3Rh dGljIGludCBvdnNfZmxvd19jbWRfZmlsbF9tYXRjaChjb25zdCBzdHJ1Y3Qgc3dfZmxvdyAqZmxv dywKLQkJCQkgICBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQotewotCXN0cnVjdCBubGF0dHIgKm5sYTsK LQlpbnQgZXJyOwotCi0JLyogRmlsbCBmbG93IGtleS4gKi8KLQlubGEgPSBubGFfbmVzdF9zdGFy dChza2IsIE9WU19GTE9XX0FUVFJfS0VZKTsKLQlpZiAoIW5sYSkKLQkJcmV0dXJuIC1FTVNHU0la RTsKLQotCWVyciA9IG92c19ubGFfcHV0X2Zsb3coJmZsb3ctPnVubWFza2VkX2tleSwgJmZsb3ct PnVubWFza2VkX2tleSwgc2tiKTsKLQlpZiAoZXJyKQotCQlyZXR1cm4gZXJyOwotCi0JbmxhX25l c3RfZW5kKHNrYiwgbmxhKTsKLQotCS8qIEZpbGwgZmxvdyBtYXNrLiAqLwotCW5sYSA9IG5sYV9u ZXN0X3N0YXJ0KHNrYiwgT1ZTX0ZMT1dfQVRUUl9NQVNLKTsKLQlpZiAoIW5sYSkKLQkJcmV0dXJu IC1FTVNHU0laRTsKLQotCWVyciA9IG92c19ubGFfcHV0X2Zsb3coJmZsb3ctPmtleSwgJmZsb3ct Pm1hc2stPmtleSwgc2tiKTsKLQlpZiAoZXJyKQotCQlyZXR1cm4gZXJyOwotCi0JbmxhX25lc3Rf ZW5kKHNrYiwgbmxhKTsKLQlyZXR1cm4gMDsKLX0KLQotLyogQ2FsbGVkIHdpdGggb3ZzX211dGV4 IG9yIFJDVSByZWFkIGxvY2suICovCiBzdGF0aWMgaW50IG92c19mbG93X2NtZF9maWxsX3N0YXRz KGNvbnN0IHN0cnVjdCBzd19mbG93ICpmbG93LAogCQkJCSAgIHN0cnVjdCBza19idWZmICpza2Ip CiB7CkBAIC03ODcsNyArNzU0LDExIEBAIHN0YXRpYyBpbnQgb3ZzX2Zsb3dfY21kX2ZpbGxfaW5m byhjb25zdCBzdHJ1Y3Qgc3dfZmxvdyAqZmxvdywgaW50IGRwX2lmaW5kZXgsCiAKIAlvdnNfaGVh ZGVyLT5kcF9pZmluZGV4ID0gZHBfaWZpbmRleDsKIAotCWVyciA9IG92c19mbG93X2NtZF9maWxs X21hdGNoKGZsb3csIHNrYik7CisJZXJyID0gb3ZzX25sYV9wdXRfdW5tYXNrZWRfa2V5KGZsb3cs IHNrYik7CisJaWYgKGVycikKKwkJZ290byBlcnJvcjsKKworCWVyciA9IG92c19ubGFfcHV0X21h c2soZmxvdywgc2tiKTsKIAlpZiAoZXJyKQogCQlnb3RvIGVycm9yOwogCmRpZmYgLS1naXQgYS9u ZXQvb3BlbnZzd2l0Y2gvZmxvd19uZXRsaW5rLmMgYi9uZXQvb3BlbnZzd2l0Y2gvZmxvd19uZXRs aW5rLmMKaW5kZXggZDIxMGQxYi4uMzM3NTFmOCAxMDA2NDQKLS0tIGEvbmV0L29wZW52c3dpdGNo L2Zsb3dfbmV0bGluay5jCisrKyBiL25ldC9vcGVudnN3aXRjaC9mbG93X25ldGxpbmsuYwpAQCAt MTIxNiwxMiArMTIxNiwxMiBAQCBpbnQgb3ZzX25sYV9nZXRfZmxvd19tZXRhZGF0YShjb25zdCBz dHJ1Y3QgbmxhdHRyICphdHRyLAogCXJldHVybiBtZXRhZGF0YV9mcm9tX25sYXR0cnMoJm1hdGNo LCAmYXR0cnMsIGEsIGZhbHNlLCBsb2cpOwogfQogCi1pbnQgb3ZzX25sYV9wdXRfZmxvdyhjb25z dCBzdHJ1Y3Qgc3dfZmxvd19rZXkgKnN3a2V5LAotCQkgICAgIGNvbnN0IHN0cnVjdCBzd19mbG93 X2tleSAqb3V0cHV0LCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQorc3RhdGljIGludCBfX292c19ubGFf cHV0X2tleShjb25zdCBzdHJ1Y3Qgc3dfZmxvd19rZXkgKnN3a2V5LAorCQkJICAgICBjb25zdCBz dHJ1Y3Qgc3dfZmxvd19rZXkgKm91dHB1dCwgYm9vbCBpc19tYXNrLAorCQkJICAgICBzdHJ1Y3Qg c2tfYnVmZiAqc2tiKQogewogCXN0cnVjdCBvdnNfa2V5X2V0aGVybmV0ICpldGhfa2V5OwogCXN0 cnVjdCBubGF0dHIgKm5sYSwgKmVuY2FwOwotCWJvb2wgaXNfbWFzayA9IChzd2tleSAhPSBvdXRw dXQpOwogCiAJaWYgKG5sYV9wdXRfdTMyKHNrYiwgT1ZTX0tFWV9BVFRSX1JFQ0lSQ19JRCwgb3V0 cHV0LT5yZWNpcmNfaWQpKQogCQlnb3RvIG5sYV9wdXRfZmFpbHVyZTsKQEAgLTE0MzEsNiArMTQz MSwzOCBAQCBubGFfcHV0X2ZhaWx1cmU6CiAJcmV0dXJuIC1FTVNHU0laRTsKIH0KIAoraW50IG92 c19ubGFfcHV0X2tleShjb25zdCBzdHJ1Y3Qgc3dfZmxvd19rZXkgKnN3a2V5LAorCQkgICAgY29u c3Qgc3RydWN0IHN3X2Zsb3dfa2V5ICpvdXRwdXQsIGludCBhdHRyLCBib29sIGlzX21hc2ssCisJ CSAgICBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQoreworCWludCBlcnI7CisJc3RydWN0IG5sYXR0ciAq bmxhOworCisJbmxhID0gbmxhX25lc3Rfc3RhcnQoc2tiLCBhdHRyKTsKKwlpZiAoIW5sYSkKKwkJ cmV0dXJuIC1FTVNHU0laRTsKKwllcnIgPSBfX292c19ubGFfcHV0X2tleShzd2tleSwgb3V0cHV0 LCBpc19tYXNrLCBza2IpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisJbmxhX25lc3RfZW5k KHNrYiwgbmxhKTsKKworCXJldHVybiAwOworfQorCisvKiBDYWxsZWQgd2l0aCBvdnNfbXV0ZXgg b3IgUkNVIHJlYWQgbG9jay4gKi8KK2ludCBvdnNfbmxhX3B1dF91bm1hc2tlZF9rZXkoY29uc3Qg c3RydWN0IHN3X2Zsb3cgKmZsb3csIHN0cnVjdCBza19idWZmICpza2IpCit7CisJcmV0dXJuIG92 c19ubGFfcHV0X2tleSgmZmxvdy0+dW5tYXNrZWRfa2V5LCAmZmxvdy0+dW5tYXNrZWRfa2V5LAor CQkJCU9WU19GTE9XX0FUVFJfS0VZLCBmYWxzZSwgc2tiKTsKK30KKworLyogQ2FsbGVkIHdpdGgg b3ZzX211dGV4IG9yIFJDVSByZWFkIGxvY2suICovCitpbnQgb3ZzX25sYV9wdXRfbWFzayhjb25z dCBzdHJ1Y3Qgc3dfZmxvdyAqZmxvdywgc3RydWN0IHNrX2J1ZmYgKnNrYikKK3sKKwlyZXR1cm4g b3ZzX25sYV9wdXRfa2V5KCZmbG93LT5rZXksICZmbG93LT5tYXNrLT5rZXksCisJCQkJT1ZTX0ZM T1dfQVRUUl9NQVNLLCB0cnVlLCBza2IpOworfQorCiAjZGVmaW5lIE1BWF9BQ1RJT05TX0JVRlNJ WkUJKDMyICogMTAyNCkKIAogc3RhdGljIHN0cnVjdCBzd19mbG93X2FjdGlvbnMgKm5sYV9hbGxv Y19mbG93X2FjdGlvbnMoaW50IHNpemUsIGJvb2wgbG9nKQpkaWZmIC0tZ2l0IGEvbmV0L29wZW52 c3dpdGNoL2Zsb3dfbmV0bGluay5oIGIvbmV0L29wZW52c3dpdGNoL2Zsb3dfbmV0bGluay5oCmlu ZGV4IDU3N2YxMmIuLjllZDA5ZTYgMTAwNjQ0Ci0tLSBhL25ldC9vcGVudnN3aXRjaC9mbG93X25l dGxpbmsuaAorKysgYi9uZXQvb3BlbnZzd2l0Y2gvZmxvd19uZXRsaW5rLmgKQEAgLTQzLDExICs0 MywxNCBAQCBzaXplX3Qgb3ZzX2tleV9hdHRyX3NpemUodm9pZCk7CiB2b2lkIG92c19tYXRjaF9p bml0KHN0cnVjdCBzd19mbG93X21hdGNoICptYXRjaCwKIAkJICAgIHN0cnVjdCBzd19mbG93X2tl eSAqa2V5LCBzdHJ1Y3Qgc3dfZmxvd19tYXNrICptYXNrKTsKIAotaW50IG92c19ubGFfcHV0X2Zs b3coY29uc3Qgc3RydWN0IHN3X2Zsb3dfa2V5ICosCi0JCSAgICAgY29uc3Qgc3RydWN0IHN3X2Zs b3dfa2V5ICosIHN0cnVjdCBza19idWZmICopOworaW50IG92c19ubGFfcHV0X2tleShjb25zdCBz dHJ1Y3Qgc3dfZmxvd19rZXkgKiwgY29uc3Qgc3RydWN0IHN3X2Zsb3dfa2V5ICosCisJCSAgICBp bnQgYXR0ciwgYm9vbCBpc19tYXNrLCBzdHJ1Y3Qgc2tfYnVmZiAqKTsKIGludCBvdnNfbmxhX2dl dF9mbG93X21ldGFkYXRhKGNvbnN0IHN0cnVjdCBubGF0dHIgKiwgc3RydWN0IHN3X2Zsb3dfa2V5 ICosCiAJCQkgICAgICBib29sIGxvZyk7CiAKK2ludCBvdnNfbmxhX3B1dF91bm1hc2tlZF9rZXko Y29uc3Qgc3RydWN0IHN3X2Zsb3cgKmZsb3csIHN0cnVjdCBza19idWZmICpza2IpOworaW50IG92 c19ubGFfcHV0X21hc2soY29uc3Qgc3RydWN0IHN3X2Zsb3cgKmZsb3csIHN0cnVjdCBza19idWZm ICpza2IpOworCiBpbnQgb3ZzX25sYV9nZXRfbWF0Y2goc3RydWN0IHN3X2Zsb3dfbWF0Y2ggKiwg Y29uc3Qgc3RydWN0IG5sYXR0ciAqa2V5LAogCQkgICAgICBjb25zdCBzdHJ1Y3QgbmxhdHRyICpt YXNrLCBib29sIGxvZyk7CiBpbnQgb3ZzX25sYV9wdXRfZWdyZXNzX3R1bm5lbF9rZXkoc3RydWN0 IHNrX2J1ZmYgKiwKLS0gCjEuNy4xMC40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpkZXYgbWFpbGluZyBsaXN0CmRldkBvcGVudnN3aXRjaC5vcmcKaHR0 cDovL29wZW52c3dpdGNoLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Rldgo=