net/i40e: get ddp profile protocol info
[dpdk.git] / drivers / net / i40e / rte_pmd_i40e.h
index 155b7e8..b9fd18e 100644 (file)
@@ -88,6 +88,12 @@ enum rte_pmd_i40e_package_info {
        RTE_PMD_I40E_PKG_INFO_HEADER,
        RTE_PMD_I40E_PKG_INFO_DEVID_NUM,
        RTE_PMD_I40E_PKG_INFO_DEVID_LIST,
+       RTE_PMD_I40E_PKG_INFO_PROTOCOL_NUM,
+       RTE_PMD_I40E_PKG_INFO_PROTOCOL_LIST,
+       RTE_PMD_I40E_PKG_INFO_PCTYPE_NUM,
+       RTE_PMD_I40E_PKG_INFO_PCTYPE_LIST,
+       RTE_PMD_I40E_PKG_INFO_PTYPE_NUM,
+       RTE_PMD_I40E_PKG_INFO_PTYPE_LIST,
        RTE_PMD_I40E_PKG_INFO_MAX = 0xFFFFFFFF
 };
 
@@ -133,6 +139,25 @@ struct rte_pmd_i40e_profile_list {
        struct rte_pmd_i40e_profile_info p_info[1];
 };
 
+#define RTE_PMD_I40E_PROTO_NUM 6
+#define RTE_PMD_I40E_PROTO_UNUSED 0xFF
+
+/**
+ * Protocols information stored in profile
+ */
+struct rte_pmd_i40e_proto_info {
+       uint8_t proto_id;
+       char name[RTE_PMD_I40E_DDP_NAME_SIZE];
+};
+
+/**
+ * Packet classification/ packet type information stored in profile
+ */
+struct rte_pmd_i40e_ptype_info {
+       uint8_t ptype_id;
+       uint8_t protocols[RTE_PMD_I40E_PROTO_NUM];
+};
+
 /**
  * ptype mapping table only accept RTE_PTYPE_XXX or "user defined" ptype.
  * A ptype with MSB set will be regarded as a user defined ptype.