From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Zhou Subject: [RFC: add openvswitch actions using BPF 2/9] odp: add a new ODP action: OVS_ACTION_ATTR_BPF_PROG Date: Wed, 4 Feb 2015 14:49:16 -0800 Message-ID: <1423090163-19902-3-git-send-email-azhou@nicira.com> References: <1423090163-19902-1-git-send-email-azhou@nicira.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: dev-yBygre7rU0SM8Zsap4Y0gw@public.gmane.org Return-path: In-Reply-To: <1423090163-19902-1-git-send-email-azhou-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 QWRkIGEgbmV3IE9EUCBhY3Rpb24gYW5kIGltcGxlbWVudHMgdGhlIGNvcnJlc3BvbmRpbmcgTmV0 bGluayBtZXNzYWdlCmhhbmRsaW5nIG9mIHRoaXMgbmV3IGF0dHJpYnV0ZS4KClNpZ25lZC1vZmYt Ynk6IEFuZHkgWmhvdSA8YXpob3VAbmljaXJhLmNvbT4KLS0tCiBkYXRhcGF0aC9saW51eC9jb21w YXQvaW5jbHVkZS9saW51eC9vcGVudnN3aXRjaC5oIHwgMjkgKysrKysrKysrKysrKysrKysrKy0K IGxpYi9kcGlmLW5ldGRldi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSAr CiBsaWIvZHBpZi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEg KwogbGliL29kcC1leGVjdXRlLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAx ICsKIGxpYi9vZHAtdXRpbC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAz MyArKysrKysrKysrKysrKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2VkLCA2NCBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZGF0YXBhdGgvbGludXgvY29tcGF0L2lu Y2x1ZGUvbGludXgvb3BlbnZzd2l0Y2guaCBiL2RhdGFwYXRoL2xpbnV4L2NvbXBhdC9pbmNsdWRl L2xpbnV4L29wZW52c3dpdGNoLmgKaW5kZXggYTU5ZTEwOS4uNzI4NDAyMyAxMDA2NDQKLS0tIGEv ZGF0YXBhdGgvbGludXgvY29tcGF0L2luY2x1ZGUvbGludXgvb3BlbnZzd2l0Y2guaAorKysgYi9k YXRhcGF0aC9saW51eC9jb21wYXQvaW5jbHVkZS9saW51eC9vcGVudnN3aXRjaC5oCkBAIC01Njks NiArNTY5LDE4IEBAIHN0cnVjdCBvdnNfYWN0aW9uX3B1c2hfbXBscyB7CiB9OwogCiAvKioKKyAq IHN0cnVjdCBvdnNfYWN0aW9uX2JwZl9wcm9nIC0gJU9WU19BQ1RJT05fQVRUUl9CUEZfUFJPRyBh Y3Rpb24gYXJndW1lbnQuCisgKgorICogIFhYWCBwcm92aWRlcyBicGYgcHJvZ3JhbSBpZCBhbmQg ZXhlY3V0aW9uIGNvbnRleHQuCisgKgorICovCitzdHJ1Y3Qgb3ZzX2FjdGlvbl9icGZfcHJvZyB7 CisJX19iZTMyIHByb2dfZmQ7CisJX19iZTMyIGFyZzA7CisJX19iZTMyIGFyZzE7Cit9OworCisv KioKICAqIHN0cnVjdCBvdnNfYWN0aW9uX3B1c2hfdmxhbiAtICVPVlNfQUNUSU9OX0FUVFJfUFVT SF9WTEFOIGFjdGlvbiBhcmd1bWVudC4KICAqIEB2bGFuX3RwaWQ6IFRhZyBwcm90b2NvbCBpZGVu dGlmaWVyIChUUElEKSB0byBwdXNoLgogICogQHZsYW5fdGNpOiBUYWcgY29udHJvbCBpZGVudGlm aWVyIChUQ0kpIHRvIHB1c2guICBUaGUgQ0ZJIGJpdCBtdXN0IGJlIHNldApAQCAtNjg1LDcgKzY5 Nyw3IEBAIGVudW0gb3ZzX2FjdGlvbl9hdHRyIHsKIAkJCQkgICAgICAgKiBkYXRhIGltbWVkaWF0 ZWx5IGZvbGxvd2VkIGJ5IGEgbWFzay4KIAkJCQkgICAgICAgKiBUaGUgZGF0YSBtdXN0IGJlIHpl cm8gZm9yIHRoZSB1bm1hc2tlZAogCQkJCSAgICAgICAqIGJpdHMuICovCi0KKwlPVlNfQUNUSU9O X0FUVFJfQlBGX1BST0csICAgICAvKiBzdHJ1Y3Qgb3ZzX2FjdGlvbl9icGZfcHJvZy4gKi8KICNp Zm5kZWYgX19LRVJORUxfXwogCU9WU19BQ1RJT05fQVRUUl9UVU5ORUxfUFVTSCwgICAvKiBzdHJ1 Y3Qgb3ZzX2FjdGlvbl9wdXNoX3RubCovCiAJT1ZTX0FDVElPTl9BVFRSX1RVTk5FTF9QT1AsICAg IC8qIHUzMiBwb3J0IG51bWJlci4gKi8KQEAgLTY5NSw0ICs3MDcsMTkgQEAgZW51bSBvdnNfYWN0 aW9uX2F0dHIgewogCiAjZGVmaW5lIE9WU19BQ1RJT05fQVRUUl9NQVggKF9fT1ZTX0FDVElPTl9B VFRSX01BWCAtIDEpCiAKKy8qIGludGVnZXIgdmFsdWUgaW4gJ2ltbScgZmllbGQgb2YgQlBGX0NB TEwgaW5zdHJ1Y3Rpb24gc2VsZWN0cyB3aGljaCBPVlMgaGVscGVyCisgKiBmdW5jdGlvbiBlQlBG IHByb2dyYW0gaW50ZW5kcyB0byBjYWxsCisgKi8KK2VudW0gb3ZzX2JwZl9mdW5jX2lkIHsKKwlP VlNfQlBGX0ZVTkNfdW5zcGVjLAorCU9WU19CUEZfRlVOQ19vdXRwdXQsICAgICAgICAgIC8qIGlu dCBvdnNfYnBmX291dHB1dChjdHh0KSAqLworCV9fT1ZTX0JQRl9GVU5DX01BWF9JRCwKK307CisK K3N0cnVjdCBvdnNfYnBmX2FjdGlvbl9jdHh0IHsKKwl2b2lkICpza2I7CisJdWludDMyX3QgYXJn MDsKKwl1aW50MzJfdCBhcmcxOworfTsKKwogI2VuZGlmIC8qIF9MSU5VWF9PUEVOVlNXSVRDSF9I ICovCmRpZmYgLS1naXQgYS9saWIvZHBpZi1uZXRkZXYuYyBiL2xpYi9kcGlmLW5ldGRldi5jCmlu ZGV4IDU0YmFkMDIuLmU5OTE3MTYgMTAwNjQ0Ci0tLSBhL2xpYi9kcGlmLW5ldGRldi5jCisrKyBi L2xpYi9kcGlmLW5ldGRldi5jCkBAIC0zMjQwLDYgKzMyNDAsNyBAQCBkcF9leGVjdXRlX2NiKHZv aWQgKmF1eF8sIHN0cnVjdCBkcGlmX3BhY2tldCAqKnBhY2tldHMsIGludCBjbnQsCiAgICAgY2Fz ZSBPVlNfQUNUSU9OX0FUVFJfU0FNUExFOgogICAgIGNhc2UgT1ZTX0FDVElPTl9BVFRSX0hBU0g6 CiAgICAgY2FzZSBPVlNfQUNUSU9OX0FUVFJfVU5TUEVDOgorICAgIGNhc2UgT1ZTX0FDVElPTl9B VFRSX0JQRl9QUk9HOgogICAgIGNhc2UgX19PVlNfQUNUSU9OX0FUVFJfTUFYOgogICAgICAgICBP VlNfTk9UX1JFQUNIRUQoKTsKICAgICB9CmRpZmYgLS1naXQgYS9saWIvZHBpZi5jIGIvbGliL2Rw aWYuYwppbmRleCA2ZWNkMWQ5Li44YWFjN2RkIDEwMDY0NAotLS0gYS9saWIvZHBpZi5jCisrKyBi L2xpYi9kcGlmLmMKQEAgLTExMzIsNiArMTEzMiw3IEBAIGRwaWZfZXhlY3V0ZV9oZWxwZXJfY2Io dm9pZCAqYXV4Xywgc3RydWN0IGRwaWZfcGFja2V0ICoqcGFja2V0cywgaW50IGNudCwKICAgICBj YXNlIE9WU19BQ1RJT05fQVRUUl9TRVRfTUFTS0VEOgogICAgIGNhc2UgT1ZTX0FDVElPTl9BVFRS X1NBTVBMRToKICAgICBjYXNlIE9WU19BQ1RJT05fQVRUUl9VTlNQRUM6CisgICAgY2FzZSBPVlNf QUNUSU9OX0FUVFJfQlBGX1BST0c6CiAgICAgY2FzZSBfX09WU19BQ1RJT05fQVRUUl9NQVg6CiAg ICAgICAgIE9WU19OT1RfUkVBQ0hFRCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL2xpYi9vZHAtZXhl Y3V0ZS5jIGIvbGliL29kcC1leGVjdXRlLmMKaW5kZXggOThhYzE4Yy4uZWUwNjM2MiAxMDA2NDQK LS0tIGEvbGliL29kcC1leGVjdXRlLmMKKysrIGIvbGliL29kcC1leGVjdXRlLmMKQEAgLTU5MSw2 ICs1OTEsNyBAQCBvZHBfZXhlY3V0ZV9hY3Rpb25zKHZvaWQgKmRwLCBzdHJ1Y3QgZHBpZl9wYWNr ZXQgKipwYWNrZXRzLCBpbnQgY250LCBib29sIHN0ZWFsLAogICAgICAgICAgICAgYnJlYWs7CiAK ICAgICAgICAgY2FzZSBPVlNfQUNUSU9OX0FUVFJfVU5TUEVDOgorICAgICAgICBjYXNlIE9WU19B Q1RJT05fQVRUUl9CUEZfUFJPRzoKICAgICAgICAgY2FzZSBfX09WU19BQ1RJT05fQVRUUl9NQVg6 CiAgICAgICAgICAgICBPVlNfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEv bGliL29kcC11dGlsLmMgYi9saWIvb2RwLXV0aWwuYwppbmRleCAzN2Q3M2E5Li4xNDc3ZDEzIDEw MDY0NAotLS0gYS9saWIvb2RwLXV0aWwuYworKysgYi9saWIvb2RwLXV0aWwuYwpAQCAtODgsNiAr ODgsNyBAQCBvZHBfYWN0aW9uX2xlbih1aW50MTZfdCB0eXBlKQogICAgIGNhc2UgT1ZTX0FDVElP Tl9BVFRSX1NFVDogcmV0dXJuIC0yOwogICAgIGNhc2UgT1ZTX0FDVElPTl9BVFRSX1NFVF9NQVNL RUQ6IHJldHVybiAtMjsKICAgICBjYXNlIE9WU19BQ1RJT05fQVRUUl9TQU1QTEU6IHJldHVybiAt MjsKKyAgICBjYXNlIE9WU19BQ1RJT05fQVRUUl9CUEZfUFJPRzogcmV0dXJuIHNpemVvZihzdHJ1 Y3Qgb3ZzX2FjdGlvbl9icGZfcHJvZyk7CiAKICAgICBjYXNlIE9WU19BQ1RJT05fQVRUUl9VTlNQ RUM6CiAgICAgY2FzZSBfX09WU19BQ1RJT05fQVRUUl9NQVg6CkBAIC0xODUsNiArMTg2LDE3IEBA IGZvcm1hdF9vZHBfc2FtcGxlX2FjdGlvbihzdHJ1Y3QgZHMgKmRzLCBjb25zdCBzdHJ1Y3Qgbmxh dHRyICphdHRyKQogICAgIGRzX3B1dF9mb3JtYXQoZHMsICIpKSIpOwogfQogCitzdGF0aWMgdm9p ZAorZm9ybWF0X2JwZl9wcm9nX2FjdGlvbihzdHJ1Y3QgZHMgKmRzLCBjb25zdCBzdHJ1Y3Qgbmxh dHRyICphKQoreworICAgIHN0cnVjdCBvdnNfYWN0aW9uX2JwZl9wcm9nICpicGZfYWN0ID0gKHN0 cnVjdCBvdnNfYWN0aW9uX2JwZl9wcm9nICopCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBubF9hdHRyX2dldChhKTsKKworICAgIGRzX3B1dF9jc3RyKGRzLCAiYnBm Iik7CisgICAgZHNfcHV0X2Zvcm1hdChkcywgIigldSwldSwldSkiLCBudG9obChicGZfYWN0LT5w cm9nX2ZkKSwKKyAgICAgICAgICAgICAgICAgIG50b2hsKGJwZl9hY3QtPmFyZzApLCBudG9obChi cGZfYWN0LT5hcmcxKSk7Cit9CisKIHN0YXRpYyBjb25zdCBjaGFyICoKIHNsb3dfcGF0aF9yZWFz b25fdG9fc3RyaW5nKHVpbnQzMl90IHJlYXNvbikKIHsKQEAgLTY4Miw2ICs2OTQsOSBAQCBmb3Jt YXRfb2RwX2FjdGlvbihzdHJ1Y3QgZHMgKmRzLCBjb25zdCBzdHJ1Y3QgbmxhdHRyICphKQogICAg IGNhc2UgT1ZTX0FDVElPTl9BVFRSX1NBTVBMRToKICAgICAgICAgZm9ybWF0X29kcF9zYW1wbGVf YWN0aW9uKGRzLCBhKTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBPVlNfQUNUSU9OX0FUVFJf QlBGX1BST0c6CisgICAgICAgIGZvcm1hdF9icGZfcHJvZ19hY3Rpb24oZHMsIGEpOworICAgICAg ICBicmVhazsKICAgICBjYXNlIE9WU19BQ1RJT05fQVRUUl9VTlNQRUM6CiAgICAgY2FzZSBfX09W U19BQ1RJT05fQVRUUl9NQVg6CiAgICAgZGVmYXVsdDoKQEAgLTEwMDYsNiArMTAyMSwyNCBAQCBw YXJzZV9vZHBfYWN0aW9uKGNvbnN0IGNoYXIgKnMsIGNvbnN0IHN0cnVjdCBzaW1hcCAqcG9ydF9u YW1lcywKICAgICAgICAgcmV0dXJuIHBhcnNlX29kcF91c2Vyc3BhY2VfYWN0aW9uKHMsIGFjdGlv bnMpOwogICAgIH0KIAorICAgIHsKKyAgICAgICAgc3RydWN0IG92c19hY3Rpb25fYnBmX3Byb2cg YWN0X2JwZjsKKyAgICAgICAgdWludDMyX3QgZmQ7CisgICAgICAgIHVpbnQzMl90IGFyZzAsIGFy ZzE7CisgICAgICAgIGludCBuID0gLTE7CisKKyAgICAgICAgaWYgKG92c19zY2FuKHMsICJicGYo JSJQUkl1MzIiLCUiUFJJdTMyIiwlIlBSSXUzMiIpJW4iLCAmZmQsICZhcmcwLAorICAgICAgICAg ICAgICAgICAgICAgJmFyZzEsICZuKSkgeworICAgICAgICAgICAgbWVtc2V0KCZhY3RfYnBmLCAw LCBzaXplb2YoYWN0X2JwZikpOworICAgICAgICAgICAgYWN0X2JwZi5wcm9nX2ZkID0gaHRvbmwo ZmQpOworICAgICAgICAgICAgYWN0X2JwZi5hcmcwID0gaHRvbmwoYXJnMCk7CisgICAgICAgICAg ICBhY3RfYnBmLmFyZzEgPSBodG9ubChhcmcxKTsKKyAgICAgICAgICAgIG5sX21zZ19wdXRfdW5z cGVjKGFjdGlvbnMsIE9WU19BQ1RJT05fQVRUUl9CUEZfUFJPRywKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICZhY3RfYnBmLCBzaXplb2YoYWN0X2JwZikpOworICAgICAgICAgICAgcmV0 dXJuIG47CisgICAgICAgIH0KKyAgICB9CisKICAgICBpZiAoIXN0cm5jbXAocywgInNldCgiLCA0 KSkgewogICAgICAgICBzaXplX3Qgc3RhcnRfb2ZzOwogICAgICAgICBpbnQgcmV0dmFsOwotLSAK MS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRl diBtYWlsaW5nIGxpc3QKZGV2QG9wZW52c3dpdGNoLm9yZwpodHRwOi8vb3BlbnZzd2l0Y2gub3Jn L21haWxtYW4vbGlzdGluZm8vZGV2Cg==