{"id":814767,"url":"http://patchwork.ozlabs.org/api/1.2/patches/814767/?format=json","web_url":"http://patchwork.ozlabs.org/project/openvswitch/patch/1505708164-10270-2-git-send-email-roid@mellanox.com/","project":{"id":47,"url":"http://patchwork.ozlabs.org/api/1.2/projects/47/?format=json","name":"Open vSwitch","link_name":"openvswitch","list_id":"ovs-dev.openvswitch.org","list_email":"ovs-dev@openvswitch.org","web_url":"http://openvswitch.org/","scm_url":"git@github.com:openvswitch/ovs.git","webscm_url":"https://github.com/openvswitch/ovs","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<1505708164-10270-2-git-send-email-roid@mellanox.com>","list_archive_url":null,"date":"2017-09-18T04:16:01","name":"[ovs-dev,V2,1/4] compat: Add act_pedit compatibility for old kernels","commit_ref":null,"pull_url":null,"state":"changes-requested","archived":false,"hash":"f4b3dbcffb8e54a61e70e7346f103e98e7724d92","submitter":{"id":70307,"url":"http://patchwork.ozlabs.org/api/1.2/people/70307/?format=json","name":"Roi Dayan","email":"roid@mellanox.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/openvswitch/patch/1505708164-10270-2-git-send-email-roid@mellanox.com/mbox/","series":[{"id":3557,"url":"http://patchwork.ozlabs.org/api/1.2/series/3557/?format=json","web_url":"http://patchwork.ozlabs.org/project/openvswitch/list/?series=3557","date":"2017-09-18T04:16:00","name":"Add offload support for action set","version":2,"mbox":"http://patchwork.ozlabs.org/series/3557/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/814767/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/814767/checks/","tags":{},"related":[],"headers":{"Return-Path":"<ovs-dev-bounces@openvswitch.org>","X-Original-To":["incoming@patchwork.ozlabs.org","dev@openvswitch.org"],"Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","ovs-dev@mail.linuxfoundation.org"],"Authentication-Results":"ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=openvswitch.org\n\t(client-ip=140.211.169.12; helo=mail.linuxfoundation.org;\n\tenvelope-from=ovs-dev-bounces@openvswitch.org;\n\treceiver=<UNKNOWN>)","Received":["from mail.linuxfoundation.org (mail.linuxfoundation.org\n\t[140.211.169.12])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xwXm30B2cz9s7G\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 18 Sep 2017 14:17:39 +1000 (AEST)","from mail.linux-foundation.org (localhost [127.0.0.1])\n\tby mail.linuxfoundation.org (Postfix) with ESMTP id B64E9A71;\n\tMon, 18 Sep 2017 04:16:21 +0000 (UTC)","from smtp1.linuxfoundation.org (smtp1.linux-foundation.org\n\t[172.17.192.35])\n\tby mail.linuxfoundation.org (Postfix) with ESMTPS id 4E9E4978\n\tfor <dev@openvswitch.org>; Mon, 18 Sep 2017 04:16:18 +0000 (UTC)","from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129])\n\tby smtp1.linuxfoundation.org (Postfix) with ESMTP id 47839CA\n\tfor <dev@openvswitch.org>; Mon, 18 Sep 2017 04:16:16 +0000 (UTC)","from Internal Mail-Server by MTLPINE1 (envelope-from\n\troid@mellanox.com)\n\twith ESMTPS (AES256-SHA encrypted); 18 Sep 2017 07:16:11 +0300","from dev-r-vrt-189.mtr.labs.mlnx (dev-r-vrt-189.mtr.labs.mlnx\n\t[10.212.189.1])\n\tby labmailer.mlnx (8.13.8/8.13.8) with ESMTP id v8I4GBDR001186;\n\tMon, 18 Sep 2017 07:16:11 +0300"],"X-Greylist":"domain auto-whitelisted by SQLgrey-1.7.6","From":"Roi Dayan <roid@mellanox.com>","To":"dev@openvswitch.org","Date":"Mon, 18 Sep 2017 07:16:01 +0300","Message-Id":"<1505708164-10270-2-git-send-email-roid@mellanox.com>","X-Mailer":"git-send-email 2.7.5","In-Reply-To":"<1505708164-10270-1-git-send-email-roid@mellanox.com>","References":"<1505708164-10270-1-git-send-email-roid@mellanox.com>","X-Spam-Status":"No, score=0.0 required=5.0 tests=RP_MATCHES_RCVD,\n\tUNPARSEABLE_RELAY autolearn=disabled version=3.3.1","X-Spam-Checker-Version":"SpamAssassin 3.3.1 (2010-03-16) on\n\tsmtp1.linux-foundation.org","Cc":"Simon Horman <simon.horman@netronome.com>","Subject":"[ovs-dev] [PATCH V2 1/4] compat: Add act_pedit compatibility for\n\told kernels","X-BeenThere":"ovs-dev@openvswitch.org","X-Mailman-Version":"2.1.12","Precedence":"list","List-Id":"<ovs-dev.openvswitch.org>","List-Unsubscribe":"<https://mail.openvswitch.org/mailman/options/ovs-dev>,\n\t<mailto:ovs-dev-request@openvswitch.org?subject=unsubscribe>","List-Archive":"<http://mail.openvswitch.org/pipermail/ovs-dev/>","List-Post":"<mailto:ovs-dev@openvswitch.org>","List-Help":"<mailto:ovs-dev-request@openvswitch.org?subject=help>","List-Subscribe":"<https://mail.openvswitch.org/mailman/listinfo/ovs-dev>,\n\t<mailto:ovs-dev-request@openvswitch.org?subject=subscribe>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"ovs-dev-bounces@openvswitch.org","Errors-To":"ovs-dev-bounces@openvswitch.org"},"content":"From: Paul Blakey <paulb@mellanox.com>\n\nAdded compatibility for action pedit.\n\nSigned-off-by: Paul Blakey <paulb@mellanox.com>\nReviewed-by: Roi Dayan <roid@mellanox.com>\n---\n acinclude.m4                    |  7 ++++\n include/linux/automake.mk       |  1 +\n include/linux/tc_act/tc_pedit.h | 72 +++++++++++++++++++++++++++++++++++++++++\n 3 files changed, 80 insertions(+)\n create mode 100644 include/linux/tc_act/tc_pedit.h","diff":"diff --git a/acinclude.m4 b/acinclude.m4\nindex 74cc046..f8aba0d 100644\n--- a/acinclude.m4\n+++ b/acinclude.m4\n@@ -188,6 +188,13 @@ AC_DEFUN([OVS_CHECK_LINUX_TC], [\n     ])],\n     [AC_DEFINE([HAVE_TCA_TUNNEL_KEY_ENC_DST_PORT], [1],\n                [Define to 1 if TCA_TUNNEL_KEY_ENC_DST_PORT is avaiable.])])\n+\n+  AC_COMPILE_IFELSE([\n+    AC_LANG_PROGRAM([#include <linux/tc_act/tc_pedit.h>], [\n+        int x = TCA_PEDIT_KEY_EX_HDR_TYPE_UDP;\n+    ])],\n+    [AC_DEFINE([HAVE_TCA_PEDIT_KEY_EX_HDR_TYPE_UDP], [1],\n+               [Define to 1 if TCA_PEDIT_KEY_EX_HDR_TYPE_UDP is avaiable.])])\n ])\n \n dnl OVS_CHECK_DPDK\ndiff --git a/include/linux/automake.mk b/include/linux/automake.mk\nindex 093204e..b464fe0 100644\n--- a/include/linux/automake.mk\n+++ b/include/linux/automake.mk\n@@ -1,4 +1,5 @@\n noinst_HEADERS += \\\n \tinclude/linux/pkt_cls.h \\\n+\tinclude/linux/tc_act/tc_pedit.h \\\n \tinclude/linux/tc_act/tc_tunnel_key.h \\\n \tinclude/linux/tc_act/tc_vlan.h\ndiff --git a/include/linux/tc_act/tc_pedit.h b/include/linux/tc_act/tc_pedit.h\nnew file mode 100644\nindex 0000000..d9c2af6\n--- /dev/null\n+++ b/include/linux/tc_act/tc_pedit.h\n@@ -0,0 +1,72 @@\n+#ifndef __LINUX_TC_ACT_TC_PEDIT_WRAPPER_H\n+#define __LINUX_TC_ACT_TC_PEDIT_WRAPPER_H 1\n+\n+#if defined(__KERNEL__) || defined(HAVE_TCA_PEDIT_KEY_EX_HDR_TYPE_UDP)\n+#include_next <linux/tc_act/tc_pedit.h>\n+#else\n+\n+#include <linux/types.h>\n+#include <linux/pkt_cls.h>\n+\n+#define TCA_ACT_PEDIT 7\n+\n+enum {\n+\tTCA_PEDIT_UNSPEC,\n+\tTCA_PEDIT_TM,\n+\tTCA_PEDIT_PARMS,\n+\tTCA_PEDIT_PAD,\n+\tTCA_PEDIT_PARMS_EX,\n+\tTCA_PEDIT_KEYS_EX,\n+\tTCA_PEDIT_KEY_EX,\n+\t__TCA_PEDIT_MAX\n+};\n+#define TCA_PEDIT_MAX (__TCA_PEDIT_MAX - 1)\n+\n+enum {\n+\tTCA_PEDIT_KEY_EX_HTYPE = 1,\n+\tTCA_PEDIT_KEY_EX_CMD = 2,\n+\t__TCA_PEDIT_KEY_EX_MAX\n+};\n+#define TCA_PEDIT_KEY_EX_MAX (__TCA_PEDIT_KEY_EX_MAX - 1)\n+\n+ /* TCA_PEDIT_KEY_EX_HDR_TYPE_NETWROK is a special case for legacy users. It\n+  * means no specific header type - offset is relative to the network layer\n+  */\n+enum pedit_header_type {\n+\tTCA_PEDIT_KEY_EX_HDR_TYPE_NETWORK = 0,\n+\tTCA_PEDIT_KEY_EX_HDR_TYPE_ETH = 1,\n+\tTCA_PEDIT_KEY_EX_HDR_TYPE_IP4 = 2,\n+\tTCA_PEDIT_KEY_EX_HDR_TYPE_IP6 = 3,\n+\tTCA_PEDIT_KEY_EX_HDR_TYPE_TCP = 4,\n+\tTCA_PEDIT_KEY_EX_HDR_TYPE_UDP = 5,\n+\t__PEDIT_HDR_TYPE_MAX,\n+};\n+#define TCA_PEDIT_HDR_TYPE_MAX (__PEDIT_HDR_TYPE_MAX - 1)\n+\n+enum pedit_cmd {\n+\tTCA_PEDIT_KEY_EX_CMD_SET = 0,\n+\tTCA_PEDIT_KEY_EX_CMD_ADD = 1,\n+\t__PEDIT_CMD_MAX,\n+};\n+#define TCA_PEDIT_CMD_MAX (__PEDIT_CMD_MAX - 1)\n+\n+struct tc_pedit_key {\n+\t__u32           mask;  /* AND */\n+\t__u32           val;   /*XOR */\n+\t__u32           off;  /*offset */\n+\t__u32           at;\n+\t__u32           offmask;\n+\t__u32           shift;\n+};\n+\n+struct tc_pedit_sel {\n+\ttc_gen;\n+\tunsigned char           nkeys;\n+\tunsigned char           flags;\n+\tstruct tc_pedit_key     keys[0];\n+};\n+#define tc_pedit tc_pedit_sel\n+\n+#endif /* __KERNEL__ || HAVE_TCA_PEDIT_KEY_EX_HDR_TYPE_UDP */\n+\n+#endif /* __LINUX_TC_ACT_TC_PEDIT_WRAPPER_H */\n","prefixes":["ovs-dev","V2","1/4"]}