net/af_xdp: remove unused Tx counter
[dpdk.git] / drivers / net / ice / ice_ethdev.h
index 9c29f22..f569da8 100644 (file)
        ETH_RSS_NONFRAG_IPV6_OTHER | \
        ETH_RSS_L2_PAYLOAD)
 
+/**
+ * The overhead from MTU to max frame size.
+ * Considering QinQ packet, the VLAN tag needs to be counted twice.
+ */
+#define ICE_ETH_OVERHEAD \
+       (RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + ICE_VLAN_TAG_SIZE * 2)
+
 struct ice_adapter;
 
 /**
  * MAC filter structure
  */
 struct ice_mac_filter_info {
-       struct ether_addr mac_addr;
+       struct rte_ether_addr mac_addr;
 };
 
 TAILQ_HEAD(ice_mac_filter_list, ice_mac_filter);
@@ -227,6 +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 */
@@ -240,11 +257,12 @@ struct ice_pf {
        struct ice_res_pool_info qp_pool;    /*Queue pair pool */
        struct ice_res_pool_info msix_pool;  /* MSIX interrupt pool */
        struct rte_eth_dev_data *dev_data; /* Pointer to the device data */
-       struct ether_addr dev_addr; /* PF device mac address */
+       struct rte_ether_addr dev_addr; /* PF device mac address */
        uint64_t flags; /* PF feature flags */
        uint16_t hash_lut_size; /* The size of hash lookup table */
        uint16_t lan_nb_qp_max;
        uint16_t lan_nb_qps; /* The number of queue pairs of LAN */
+       uint16_t base_queue; /* The base queue pairs index  in the device */
        struct ice_hw_port_stats stats_offset;
        struct ice_hw_port_stats stats;
        /* internal packet statistics, it should be excluded from the total */
@@ -252,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;
 };
 
 /**
@@ -267,6 +293,7 @@ struct ice_adapter {
        /* 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 {