X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fice%2Fice_dcf_ethdev.h;h=8510e37119ad17e0857318a8803f5befe0a3d7d8;hb=a972972fe00a9f06f6fa8632981c4ee6ef8cdcd1;hp=7695815e146ff0d800a92cbada2c66b02d8d72e4;hpb=5674465a32c895ff9eb74280b29cacd15bf8db59;p=dpdk.git diff --git a/drivers/net/ice/ice_dcf_ethdev.h b/drivers/net/ice/ice_dcf_ethdev.h index 7695815e14..8510e37119 100644 --- a/drivers/net/ice/ice_dcf_ethdev.h +++ b/drivers/net/ice/ice_dcf_ethdev.h @@ -7,6 +7,8 @@ #include "base/ice_common.h" #include "base/ice_adminq_cmd.h" +#include "base/ice_dcb.h" +#include "base/ice_sched.h" #include "ice_ethdev.h" #include "ice_dcf.h" @@ -17,38 +19,50 @@ struct ice_dcf_queue { uint64_t dummy; }; +struct ice_dcf_repr_info { + struct rte_eth_dev *vf_rep_eth_dev; +}; + struct ice_dcf_adapter { struct ice_adapter parent; /* Must be first */ struct ice_dcf_hw real_hw; + + int num_reprs; + struct ice_dcf_repr_info *repr_infos; }; struct ice_dcf_vf_repr_param { - struct ice_dcf_adapter *adapter; + struct rte_eth_dev *dcf_eth_dev; uint16_t switch_domain_id; uint16_t vf_id; }; struct ice_dcf_vlan { + bool port_vlan_ena; + bool stripping_ena; + uint16_t tpid; uint16_t vid; }; struct ice_dcf_vf_repr { - struct ice_dcf_adapter *dcf_adapter; + struct rte_eth_dev *dcf_eth_dev; struct rte_ether_addr mac_addr; uint16_t switch_domain_id; uint16_t vf_id; - bool port_vlan_ena; - struct ice_dcf_vlan port_vlan_info; + struct ice_dcf_vlan outer_vlan_info; /* DCF always handle outer VLAN */ }; +extern const struct rte_tm_ops ice_dcf_tm_ops; void ice_dcf_handle_pf_event_msg(struct ice_dcf_hw *dcf_hw, uint8_t *msg, uint16_t msglen); int ice_dcf_init_parent_adapter(struct rte_eth_dev *eth_dev); void ice_dcf_uninit_parent_adapter(struct rte_eth_dev *eth_dev); -int ice_dcf_vf_repr_init(struct rte_eth_dev *ethdev, void *init_param); -int ice_dcf_vf_repr_uninit(struct rte_eth_dev *ethdev); +int ice_dcf_vf_repr_init(struct rte_eth_dev *vf_rep_eth_dev, void *init_param); +int ice_dcf_vf_repr_uninit(struct rte_eth_dev *vf_rep_eth_dev); +int ice_dcf_vf_repr_init_vlan(struct rte_eth_dev *vf_rep_eth_dev); +void ice_dcf_vf_repr_stop_all(struct ice_dcf_adapter *dcf_adapter); #endif /* _ICE_DCF_ETHDEV_H_ */