-/**
- * Enable receiving and transmitting traffic.
- *
- * @param dev
- * Pointer to Ethernet device.
- */
-static void
-mlx5_link_start(struct rte_eth_dev *dev)
-{
- struct priv *priv = dev->data->dev_private;
- int ret;
-
- dev->tx_pkt_burst = mlx5_select_tx_function(dev);
- dev->rx_pkt_burst = mlx5_select_rx_function(dev);
- ret = mlx5_traffic_enable(dev);
- if (ret) {
- DRV_LOG(ERR,
- "port %u error occurred while configuring control"
- " flows: %s",
- dev->data->port_id, strerror(rte_errno));
- return;
- }
- ret = mlx5_flow_start(dev, &priv->flows);
- if (ret)
- DRV_LOG(ERR,
- "port %u error occurred while configuring flows: %s",
- dev->data->port_id, strerror(rte_errno));
-}
-
-/**
- * Disable receiving and transmitting traffic.
- *
- * @param dev
- * Pointer to Ethernet device.
- */
-static void
-mlx5_link_stop(struct rte_eth_dev *dev)
-{
- struct priv *priv = dev->data->dev_private;
-
- mlx5_flow_stop(dev, &priv->flows);
- mlx5_traffic_disable(dev);
- dev->rx_pkt_burst = removed_rx_burst;
- dev->tx_pkt_burst = removed_tx_burst;
-}
-
-/**
- * Querying the link status till it changes to the desired state.
- * Number of query attempts is bounded by MLX5_MAX_LINK_QUERY_ATTEMPTS.
- *
- * @param dev
- * Pointer to Ethernet device.
- * @param status
- * Link desired status.
- *
- * @return
- * 0 on success, a negative errno value otherwise and rte_errno is set.
- */
-int
-mlx5_force_link_status_change(struct rte_eth_dev *dev, int status)
-{
- int try = 0;
-
- while (try < MLX5_MAX_LINK_QUERY_ATTEMPTS) {
- mlx5_link_update(dev, 0);
- if (dev->data->dev_link.link_status == status)
- return 0;
- try++;
- sleep(1);
- }
- rte_errno = EAGAIN;
- return -rte_errno;
-}
-