net/ice: support multi-process
[dpdk.git] / drivers / net / ice / ice_ethdev.h
index 50b966c..c4444f9 100644 (file)
@@ -234,12 +234,16 @@ struct ice_vsi {
        bool offset_loaded;
 };
 
+extern const struct rte_flow_ops ice_flow_ops;
+
 /* Struct to store flow created. */
 struct rte_flow {
        TAILQ_ENTRY(rte_flow) node;
        void *rule;
 };
 
+TAILQ_HEAD(ice_flow_list, rte_flow);
+
 struct ice_pf {
        struct ice_adapter *adapter; /* The adapter this PF associate to */
        struct ice_vsi *main_vsi; /* pointer to main VSI structure */
@@ -266,6 +270,14 @@ struct ice_pf {
        struct ice_eth_stats internal_stats;
        bool offset_loaded;
        bool adapter_stopped;
+       struct ice_flow_list flow_list;
+};
+
+/**
+ * Cache devargs parse result.
+ */
+struct ice_devargs {
+       int safe_mode_support;
 };
 
 /**
@@ -277,10 +289,13 @@ struct ice_adapter {
        struct rte_eth_dev *eth_dev;
        struct ice_pf pf;
        bool rx_bulk_alloc_allowed;
+       bool rx_vec_allowed;
+       bool tx_vec_allowed;
        bool tx_simple_allowed;
        /* ptype mapping table */
        uint32_t ptype_tbl[ICE_MAX_PKT_TYPE] __rte_cache_min_aligned;
        bool is_safe_mode;
+       struct ice_devargs devargs;
 };
 
 struct ice_vsi_vlan_pvid_info {