X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fice%2Fice_ethdev.h;h=b4bf651c1c7ff15a838974b07dd98b5141992877;hb=2f7a1864cc19a3f72c4d63d981551c8c830fccbf;hp=2b03c596713553946365b825af40804031262a0a;hpb=14801aa3fb3587347c739d6e55afdbe130f319be;p=dpdk.git diff --git a/drivers/net/ice/ice_ethdev.h b/drivers/net/ice/ice_ethdev.h index 2b03c59671..b4bf651c1c 100644 --- a/drivers/net/ice/ice_ethdev.h +++ b/drivers/net/ice/ice_ethdev.h @@ -7,7 +7,7 @@ #include -#include +#include #include "base/ice_common.h" #include "base/ice_adminq_cmd.h" @@ -50,7 +50,7 @@ #define ICE_PKG_FILE_SEARCH_PATH_UPDATES "/lib/firmware/updates/intel/ice/ddp/" #define ICE_MAX_PKG_FILENAME_SIZE 256 -#define MAX_ACL_ENTRIES 512 +#define MAX_ACL_NORMAL_ENTRIES 256 /** * vlan_id is a 12 bit number. @@ -167,11 +167,19 @@ struct ice_mac_filter { struct ice_mac_filter_info mac_info; }; +struct ice_vlan { + uint16_t tpid; + uint16_t vid; +}; + +#define ICE_VLAN(tpid, vid) \ + ((struct ice_vlan){ tpid, vid }) + /** * VLAN filter structure */ struct ice_vlan_filter_info { - uint16_t vlan_id; + struct ice_vlan vlan; }; TAILQ_HEAD(ice_vlan_filter_list, ice_vlan_filter); @@ -293,8 +301,8 @@ struct ice_fdir_filter_conf { struct ice_fdir_counter *counter; /* flow specific counter context */ struct rte_flow_action_count act_count; - uint64_t input_set; - uint64_t outer_input_set; /* only for tunnel packets outer fields */ + uint64_t input_set_o; /* used for non-tunnel or tunnel outer fields */ + uint64_t input_set_i; /* only for tunnel inner fields */ uint32_t mark_flag; }; @@ -400,7 +408,7 @@ struct ice_acl_conf { struct ice_acl_info { struct ice_acl_conf conf; struct rte_bitmap *slots; - uint64_t hw_entry_id[MAX_ACL_ENTRIES]; + uint64_t hw_entry_id[MAX_ACL_NORMAL_ENTRIES]; }; struct ice_pf { @@ -467,7 +475,6 @@ struct ice_devargs { struct ice_adapter { /* Common for both PF and VF */ struct ice_hw hw; - struct rte_eth_dev *eth_dev; struct ice_pf pf; bool rx_bulk_alloc_allowed; bool rx_vec_allowed; @@ -479,6 +486,12 @@ struct ice_adapter { struct ice_devargs devargs; enum ice_pkg_type active_pkg_type; /* loaded ddp package type */ uint16_t fdir_ref_cnt; +#ifdef RTE_ARCH_X86 + bool rx_use_avx2; + bool rx_use_avx512; + bool tx_use_avx2; + bool tx_use_avx512; +#endif }; struct ice_vsi_vlan_pvid_info { @@ -512,8 +525,6 @@ struct ice_vsi_vlan_pvid_info { (&(((struct ice_vsi *)vsi)->adapter->hw)) #define ICE_VSI_TO_PF(vsi) \ (&(((struct ice_vsi *)vsi)->adapter->pf)) -#define ICE_VSI_TO_ETH_DEV(vsi) \ - (((struct ice_vsi *)vsi)->adapter->eth_dev) /* ICE_PF_TO */ #define ICE_PF_TO_HW(pf) \ @@ -523,7 +534,8 @@ struct ice_vsi_vlan_pvid_info { #define ICE_PF_TO_ETH_DEV(pf) \ (((struct ice_pf *)pf)->adapter->eth_dev) -enum ice_pkg_type ice_load_pkg_type(struct ice_hw *hw); +int +ice_load_pkg(struct ice_adapter *adapter, bool use_dsn, uint64_t dsn); struct ice_vsi * ice_setup_vsi(struct ice_pf *pf, enum ice_vsi_type type); int