static int
ice_dcf_dev_start(struct rte_eth_dev *dev)
{
+ struct ice_dcf_adapter *dcf_ad = dev->data->dev_private;
+ struct ice_adapter *ad = &dcf_ad->parent;
+
+ ad->pf.adapter_stopped = 0;
+
dev->data->dev_link.link_status = ETH_LINK_UP;
return 0;
static void
ice_dcf_dev_stop(struct rte_eth_dev *dev)
{
+ struct ice_dcf_adapter *dcf_ad = dev->data->dev_private;
+ struct ice_adapter *ad = &dcf_ad->parent;
+
+ if (ad->pf.adapter_stopped == 1) {
+ PMD_DRV_LOG(DEBUG, "Port is already stopped");
+ return;
+ }
+
dev->data->dev_link.link_status = ETH_LINK_DOWN;
+ ad->pf.adapter_stopped = 1;
}
static int
if (!parent_adapter->pf.main_vsi)
return -ENOMEM;
parent_adapter->pf.main_vsi->adapter = parent_adapter;
+ parent_adapter->pf.adapter_stopped = 1;
parent_hw->back = parent_adapter;
parent_hw->mac_type = ICE_MAC_GENERIC;