From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <kirill.rybalchenko@intel.com>
Received: from mga07.intel.com (mga07.intel.com [134.134.136.100])
 by dpdk.org (Postfix) with ESMTP id 4BB0A1B2A9
 for <dev@dpdk.org>; Tue, 10 Oct 2017 22:29:08 +0200 (CEST)
Received: from fmsmga001.fm.intel.com ([10.253.24.23])
 by orsmga105.jf.intel.com with ESMTP; 10 Oct 2017 13:29:07 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.43,359,1503385200"; d="scan'208";a="1204393750"
Received: from silpixa00389036.ir.intel.com (HELO
 silpixa00389036.ger.corp.intel.com) ([10.237.223.231])
 by fmsmga001.fm.intel.com with ESMTP; 10 Oct 2017 13:29:06 -0700
From: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
To: dev@dpdk.org
Cc: kirill.rybalchenko@intel.com, andrey.chilikin@intel.com,
 beilei.xing@intel.com, jingjing.wu@intel.com
Date: Tue, 10 Oct 2017 21:28:55 +0100
Message-Id: <1507667338-15742-2-git-send-email-kirill.rybalchenko@intel.com>
X-Mailer: git-send-email 2.5.5
In-Reply-To: <1507667338-15742-1-git-send-email-kirill.rybalchenko@intel.com>
References: <1507666412-15320-1-git-send-email-kirill.rybalchenko@intel.com>
 <1507667338-15742-1-git-send-email-kirill.rybalchenko@intel.com>
Subject: [dpdk-dev] [PATCH v5 1/4] ethdev: add support for raw flow type for
	flow director
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <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: Tue, 10 Oct 2017 20:29:08 -0000

Add new structure rte_eth_raw_flow to the union rte_eth_fdir_flow
to support filter for raw flow type.

Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
---
 lib/librte_ether/rte_eth_ctrl.h | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/lib/librte_ether/rte_eth_ctrl.h b/lib/librte_ether/rte_eth_ctrl.h
index 8386904..213b408 100644
--- a/lib/librte_ether/rte_eth_ctrl.h
+++ b/lib/librte_ether/rte_eth_ctrl.h
@@ -525,6 +525,15 @@ struct rte_eth_tunnel_flow {
 };
 
 /**
+ * A structure used to define the input for raw flow
+ */
+struct rte_eth_raw_flow {
+	uint16_t flow;   /**< flow type. */
+	void *packet;    /**< pre-constructed packet buffer. */
+	uint16_t length; /**< buffer length. */
+};
+
+/**
  * An union contains the inputs for all types of flow
  * Items in flows need to be in big endian
  */
@@ -540,6 +549,7 @@ union rte_eth_fdir_flow {
 	struct rte_eth_ipv6_flow   ipv6_flow;
 	struct rte_eth_mac_vlan_flow mac_vlan_flow;
 	struct rte_eth_tunnel_flow   tunnel_flow;
+	struct rte_eth_raw_flow    raw_flow;
 };
 
 /**
-- 
2.5.5