X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=drivers%2Fnet%2Favf%2Favf.h;h=dcf8d1c7271bb2b6f9691c58f0efdca8e5b58153;hb=817a6c47404550374d5a0700b328a803bec9b13e;hp=1e3825d9555f139937bdba967f939114bf1969f8;hpb=22b123a36d074eab72408d9698a27e1205225e16;p=dpdk.git diff --git a/drivers/net/avf/avf.h b/drivers/net/avf/avf.h index 1e3825d955..dcf8d1c727 100644 --- a/drivers/net/avf/avf.h +++ b/drivers/net/avf/avf.h @@ -36,6 +36,13 @@ VIRTCHNL_VF_OFFLOAD_WB_ON_ITR | \ VIRTCHNL_VF_OFFLOAD_RX_POLLING) +#define AVF_RSS_OFFLOAD_ALL ( \ + ETH_RSS_FRAG_IPV4 | \ + ETH_RSS_NONFRAG_IPV4_TCP | \ + ETH_RSS_NONFRAG_IPV4_UDP | \ + ETH_RSS_NONFRAG_IPV4_SCTP | \ + ETH_RSS_NONFRAG_IPV4_OTHER) + #define AVF_MISC_VEC_ID RTE_INTR_VEC_ZERO_OFFSET #define AVF_RX_VEC_START RTE_INTR_VEC_RXTX_OFFSET @@ -109,6 +116,11 @@ struct avf_adapter { struct avf_hw hw; struct rte_eth_dev *eth_dev; struct avf_info vf; + + bool rx_bulk_alloc_allowed; + /* For vector PMD */ + bool rx_vec_allowed; + bool tx_vec_allowed; }; /* AVF_DEV_PRIVATE_TO */ @@ -181,4 +193,24 @@ _atomic_set_cmd(struct avf_info *vf, enum virtchnl_ops ops) int avf_check_api_version(struct avf_adapter *adapter); int avf_get_vf_resource(struct avf_adapter *adapter); void avf_handle_virtchnl_msg(struct rte_eth_dev *dev); +int avf_enable_vlan_strip(struct avf_adapter *adapter); +int avf_disable_vlan_strip(struct avf_adapter *adapter); +int avf_switch_queue(struct avf_adapter *adapter, uint16_t qid, + bool rx, bool on); +int avf_enable_queues(struct avf_adapter *adapter); +int avf_disable_queues(struct avf_adapter *adapter); +int avf_configure_rss_lut(struct avf_adapter *adapter); +int avf_configure_rss_key(struct avf_adapter *adapter); +int avf_configure_queues(struct avf_adapter *adapter); +int avf_config_irq_map(struct avf_adapter *adapter); +void avf_add_del_all_mac_addr(struct avf_adapter *adapter, bool add); +int avf_dev_link_update(struct rte_eth_dev *dev, + __rte_unused int wait_to_complete); +int avf_query_stats(struct avf_adapter *adapter, + struct virtchnl_eth_stats **pstats); +int avf_config_promisc(struct avf_adapter *adapter, bool enable_unicast, + bool enable_multicast); +int avf_add_del_eth_addr(struct avf_adapter *adapter, + struct ether_addr *addr, bool add); +int avf_add_del_vlan(struct avf_adapter *adapter, uint16_t vlanid, bool add); #endif /* _AVF_ETHDEV_H_ */