| 131 | } |
| 132 | |
| 133 | void ixgbe_pf_host_uninit(struct rte_eth_dev *eth_dev) |
| 134 | { |
| 135 | struct ixgbe_vf_info **vfinfo; |
| 136 | uint16_t vf_num; |
| 137 | int ret; |
| 138 | |
| 139 | PMD_INIT_FUNC_TRACE(); |
| 140 | |
| 141 | RTE_ETH_DEV_SRIOV(eth_dev).active = 0; |
| 142 | RTE_ETH_DEV_SRIOV(eth_dev).nb_q_per_pool = 0; |
| 143 | RTE_ETH_DEV_SRIOV(eth_dev).def_vmdq_idx = 0; |
| 144 | RTE_ETH_DEV_SRIOV(eth_dev).def_pool_q_idx = 0; |
| 145 | |
| 146 | vf_num = dev_num_vf(eth_dev); |
| 147 | if (vf_num == 0) |
| 148 | return; |
| 149 | |
| 150 | vfinfo = IXGBE_DEV_PRIVATE_TO_P_VFDATA(eth_dev->data->dev_private); |
| 151 | if (*vfinfo == NULL) |
| 152 | return; |
| 153 | |
| 154 | ret = rte_eth_switch_domain_free((*vfinfo)->switch_domain_id); |
| 155 | if (ret) |
| 156 | PMD_INIT_LOG(WARNING, "failed to free switch domain: %d", ret); |
| 157 | |
| 158 | rte_free(*vfinfo); |
| 159 | *vfinfo = NULL; |
| 160 | } |
| 161 | |
| 162 | static void |
| 163 | ixgbe_add_tx_flow_control_drop_filter(struct rte_eth_dev *eth_dev) |
no test coverage detected