X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fsfc%2Fsfc.h;h=51be44037dedb712b572a52d8d1d26ddfaad4221;hb=d7812ffd83588c724d2f291f2030c9994f9d1113;hp=768578e4cc7e98e89b22f035fb57be5756af3ebc;hpb=dad99d926772c0c0e9d4ce792eba7787a0e601a3;p=dpdk.git diff --git a/drivers/net/sfc/sfc.h b/drivers/net/sfc/sfc.h index 768578e4cc..51be44037d 100644 --- a/drivers/net/sfc/sfc.h +++ b/drivers/net/sfc/sfc.h @@ -27,11 +27,6 @@ extern "C" { #endif -#if EFSYS_OPT_RX_SCALE -/** RSS hash offloads mask */ -#define SFC_RSS_OFFLOADS (ETH_RSS_IP | ETH_RSS_TCP) -#endif - /* * +---------------+ * | UNINITIALIZED |<-----------+ @@ -104,7 +99,7 @@ struct sfc_mcdi { efsys_mem_t mem; enum sfc_mcdi_state state; efx_mcdi_transport_t transport; - bool logging; + uint32_t logtype; uint32_t proxy_handle; efx_rc_t proxy_result; }; @@ -156,6 +151,24 @@ struct sfc_port { uint32_t mac_stats_mask[EFX_MAC_STATS_MASK_NPAGES]; }; +struct sfc_rss_hf_rte_to_efx { + uint64_t rte; + efx_rx_hash_type_t efx; +}; + +struct sfc_rss { + unsigned int channels; + efx_rx_scale_context_type_t context_type; + efx_rx_hash_support_t hash_support; + efx_rx_hash_alg_t hash_alg; + unsigned int hf_map_nb_entries; + struct sfc_rss_hf_rte_to_efx *hf_map; + + efx_rx_hash_type_t hash_types; + unsigned int tbl[EFX_RSS_TBL_SIZE]; + uint8_t key[EFX_RSS_KEY_SIZE]; +}; + /* Adapter private data */ struct sfc_adapter { /* @@ -171,7 +184,6 @@ struct sfc_adapter { struct rte_eth_dev *eth_dev; struct rte_kvargs *kvargs; uint32_t logtype_main; - bool debug_init; int socket_id; efsys_bar_t mem_bar; efx_family_t family; @@ -226,15 +238,9 @@ struct sfc_adapter { boolean_t tso; - unsigned int rss_channels; + uint32_t rxd_wait_timeout_ns; -#if EFSYS_OPT_RX_SCALE - efx_rx_scale_context_type_t rss_support; - efx_rx_hash_support_t hash_support; - efx_rx_hash_type_t rss_hash_types; - unsigned int rss_tbl[EFX_RSS_TBL_SIZE]; - uint8_t rss_key[EFX_RSS_KEY_SIZE]; -#endif + struct sfc_rss rss; /* * Shared memory copy of the Rx datapath name to be used by