X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fi40e%2Frte_pmd_i40e.h;h=fc3560c28ce6fe6909ce32da0bd968504afbb3e2;hb=f593944fc988dfccebed62205fd0b88c60ed7d77;hp=a1313146b67bbbcca8366344d7e7c62248643bd8;hpb=8bd5f07c7a1ac0c5b8d16758efc3ada3e16b0adc;p=dpdk.git diff --git a/drivers/net/i40e/rte_pmd_i40e.h b/drivers/net/i40e/rte_pmd_i40e.h index a1313146b6..fc3560c28c 100644 --- a/drivers/net/i40e/rte_pmd_i40e.h +++ b/drivers/net/i40e/rte_pmd_i40e.h @@ -14,7 +14,9 @@ * */ -#include +#include +#include +#include /** * Response sent back to i40e driver from user app after callback @@ -453,7 +455,7 @@ int rte_pmd_i40e_set_vf_multicast_promisc(uint16_t port, * - (-EINVAL) if *vf* or *mac_addr* is invalid. */ int rte_pmd_i40e_set_vf_mac_addr(uint16_t port, uint16_t vf_id, - struct ether_addr *mac_addr); + struct rte_ether_addr *mac_addr); /** * Remove the VF MAC address. @@ -471,7 +473,7 @@ int rte_pmd_i40e_set_vf_mac_addr(uint16_t port, uint16_t vf_id, */ int rte_pmd_i40e_remove_vf_mac_addr(uint16_t port, uint16_t vf_id, - struct ether_addr *mac_addr); + struct rte_ether_addr *mac_addr); /** * Enable/Disable vf vlan strip for all queues in a pool @@ -854,7 +856,7 @@ int rte_pmd_i40e_ptype_mapping_replace(uint16_t port, * - (-EINVAL) if *vf* or *mac_addr* is invalid. */ int rte_pmd_i40e_add_vf_mac_addr(uint16_t port, uint16_t vf_id, - struct ether_addr *mac_addr); + struct rte_ether_addr *mac_addr); #define RTE_PMD_I40E_PCTYPE_MAX 64 #define RTE_PMD_I40E_FLOW_TYPE_MAX 64 @@ -924,7 +926,7 @@ int rte_pmd_i40e_flow_type_mapping_reset(uint16_t port); * -ENOTSUP: i40e not supported for this port. */ int rte_pmd_i40e_query_vfid_by_mac(uint16_t port, - const struct ether_addr *vf_mac); + const struct rte_ether_addr *vf_mac); /** * Do RSS queue region configuration for that port as @@ -1061,4 +1063,71 @@ rte_pmd_i40e_inset_field_clear(uint64_t *inset, uint8_t field_idx) return 0; } +/** + * Get port fdir info + * + * @param port + * The port identifier of the Ethernet device. + * @param fdir_info + * The fdir info of the port + * @return + * - (0) if successful. + * - (-ENODEV) if *port* invalid. + * - (-ENOTSUP) if operation not supported. + */ +__rte_experimental +int +rte_pmd_i40e_get_fdir_info(uint16_t port, struct rte_eth_fdir_info *fdir_info); + +/** + * Get port fdir status + * + * @param port + * The port identifier of the Ethernet device. + * @param fdir_stat + * The fdir status of the port + * @return + * - (0) if successful. + * - (-ENODEV) if *port* invalid. + * - (-ENOTSUP) if operation not supported. + */ +__rte_experimental +int +rte_pmd_i40e_get_fdir_stats(uint16_t port, + struct rte_eth_fdir_stats *fdir_stat); + +/** + * Set GRE key length + * + * @param port + * The port identifier of the Ethernet device. + * @param len + * Length of gre-key + * @return + * - (0) if successful. + * - (-ENODEV) if *port* invalid. + * - (-ENOTSUP) if operation not supported. + */ +__rte_experimental +int +rte_pmd_i40e_set_gre_key_len(uint16_t port, uint8_t len); + +/** + * For ipn3ke, i40e works with FPGA. + * In this situation, i40e get link status from fpga, + * fpga works as switch_dev for i40e. + * This function set switch_dev for i40e. + * + * @param port_id + * port_id of i40e device to be set switch device. + * @param switch_dev + * target switch device from which i40e device to get link status from. + * @return + * - (less than 0) if failed. + * - (0) if success. + */ +__rte_experimental +int +rte_pmd_i40e_set_switch_dev(uint16_t port_id, struct rte_eth_dev *switch_dev); + #endif /* _PMD_I40E_H_ */