X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fmlx5%2Fmlx5_trigger.c;h=fc56d1ee81ee20e68f8074c0da54eb776fbc6226;hb=b43802b4bdfe;hp=28770b8ebe928ae6c05812771ef374d9cb18b284;hpb=a170a30d22a8c34c36541d0dd6bcc2fcc4c9ee2f;p=dpdk.git diff --git a/drivers/net/mlx5/mlx5_trigger.c b/drivers/net/mlx5/mlx5_trigger.c index 28770b8ebe..fc56d1ee81 100644 --- a/drivers/net/mlx5/mlx5_trigger.c +++ b/drivers/net/mlx5/mlx5_trigger.c @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: BSD-3-Clause * Copyright 2015 6WIND S.A. - * Copyright 2015 Mellanox. + * Copyright 2015 Mellanox Technologies, Ltd */ #include @@ -148,12 +148,6 @@ mlx5_dev_start(struct rte_eth_dev *dev) int ret; dev->data->dev_started = 1; - ret = mlx5_flow_create_drop_queue(dev); - if (ret) { - DRV_LOG(ERR, "port %u drop queue allocation failed: %s", - dev->data->port_id, strerror(rte_errno)); - goto error; - } DRV_LOG(DEBUG, "port %u allocating and configuring hash Rx queues", dev->data->port_id); rte_mempool_walk(mlx5_mp2mr_iter, priv); @@ -176,15 +170,20 @@ mlx5_dev_start(struct rte_eth_dev *dev) goto error; } mlx5_xstats_init(dev); - /* Update link status and Tx/Rx callbacks for the first time. */ - memset(&dev->data->dev_link, 0, sizeof(struct rte_eth_link)); - DRV_LOG(INFO, "forcing port %u link to be up", dev->data->port_id); - ret = mlx5_force_link_status_change(dev, ETH_LINK_UP); + ret = mlx5_traffic_enable(dev); + if (ret) { + DRV_LOG(DEBUG, "port %u failed to set defaults flows", + dev->data->port_id); + goto error; + } + ret = mlx5_flow_start(dev, &priv->flows); if (ret) { - DRV_LOG(DEBUG, "failed to set port %u link to be up", + DRV_LOG(DEBUG, "port %u failed to set flows", dev->data->port_id); goto error; } + dev->tx_pkt_burst = mlx5_select_tx_function(dev); + dev->rx_pkt_burst = mlx5_select_rx_function(dev); mlx5_dev_interrupt_handler_install(dev); return 0; error: @@ -197,7 +196,6 @@ error: mlx5_traffic_disable(dev); mlx5_txq_stop(dev); mlx5_rxq_stop(dev); - mlx5_flow_delete_drop_queue(dev); rte_errno = ret; /* Restore rte_errno. */ return -rte_errno; } @@ -232,7 +230,6 @@ mlx5_dev_stop(struct rte_eth_dev *dev) mlx5_rxq_stop(dev); for (mr = LIST_FIRST(&priv->mr); mr; mr = LIST_FIRST(&priv->mr)) mlx5_mr_release(mr); - mlx5_flow_delete_drop_queue(dev); } /**