[dpdk-dev] [PATCH v5 19/21] ethdev: define structures for configuring flex masks
Jingjing Wu
jingjing.wu at intel.com
Thu Oct 30 08:26:44 CET 2014
New structures are defined for configuring flexible masks
Signed-off-by: Jingjing Wu <jingjing.wu at intel.com>
---
lib/librte_ether/rte_eth_ctrl.h | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/lib/librte_ether/rte_eth_ctrl.h b/lib/librte_ether/rte_eth_ctrl.h
index 4a51c22..e8e47fd 100644
--- a/lib/librte_ether/rte_eth_ctrl.h
+++ b/lib/librte_ether/rte_eth_ctrl.h
@@ -181,7 +181,30 @@ struct rte_eth_flex_payload_cfg {
/**< Field vectors to constitute flexible payload */
};
+/**
+ * A structure defined to specify each word's bit mask
+ */
+struct rte_eth_flex_mask {
+ uint8_t offset; /**< Word offset in flexible payload */
+ uint16_t bitmask;
+ /**< Each bit set to 1 disables the matched bit in the selected word
+ defined by offset field. */
+};
+
+/**
+ * A structure used to configure FDIR masks for flexible payload
+ * for each flow type
+ */
+struct rte_eth_fdir_flex_masks {
+ enum rte_eth_flow_type flow_type; /**< Flow type */
+ uint8_t words_mask; /**< Bit i enables word i of flexible payload */
+ uint8_t nb_field; /**< The number of following fields */
+ struct rte_eth_flex_mask field[0]; /**< Bitmask array */
+};
+
#define RTE_ETH_FDIR_CFG_FLX 0x0001
+#define RTE_ETH_FDIR_CFG_MASK 0x0002
+#define RTE_ETH_FDIR_CFG_FLX_MASK 0x0003
/**
* A structure used to configure FDIR filter global set
* It supports RTE_ETH_FILTER_FDIR with RTE_ETH_FILTER_SET operation.
@@ -191,6 +214,8 @@ struct rte_eth_fdir_cfg {
/**
* A pointer to structure for the configuration e.g.
* struct rte_eth_flex_payload_cfg for FDIR_CFG_FLX
+ * struct rte_fdir_masks for FDIR_MASK
+ * struct rte_eth_fdir_flex_masks for FDIR_FLX_MASK
*/
void *cfg;
};
--
1.8.1.4
More information about the dev
mailing list