src/dpdk/drivers/net/nfp/nfp_net.c
static int
nfp_net_stop(struct rte_eth_dev *dev)
{
	int i;
	struct nfp_net_hw *hw;

	PMD_INIT_LOG(DEBUG, "Stop");

	hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);

	nfp_net_disable_queues(dev);

	/* Clear queues */
	for (i = 0; i < dev->data->nb_tx_queues; i++) {
		nfp_net_reset_tx_queue(
			(struct nfp_net_txq *)dev->data->tx_queues[i]);
	}

	for (i = 0; i < dev->data->nb_rx_queues; i++) {
		nfp_net_reset_rx_queue(
			(struct nfp_net_rxq *)dev->data->rx_queues[i]);
	}

	if (hw->is_phyport) {
		if (rte_eal_process_type() == RTE_PROC_PRIMARY)
			/* Configure the physical port down */
			nfp_eth_set_configured(hw->cpp, hw->idx, 0);
		else
			nfp_eth_set_configured(dev->process_private,
					       hw->idx, 0);
	}

	return 0;
}
/* Stop device: disable rx and tx functions to allow for reconfiguring. */
Stop device: disable rx and tx functions to allow for reconfiguring.
Stop device : disable rx and tx functions to allow for reconfiguring .
static int
nfp_net_stop(struct rte_eth_dev *dev)
{
	int i;
	struct nfp_net_hw *hw;
	PMD_INIT_LOG(DEBUG, "Stop");
	hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
	nfp_net_disable_queues(dev);
	for (i = 0; i < dev->data->nb_tx_queues; i++) {
		nfp_net_reset_tx_queue(
			(struct nfp_net_txq *)dev->data->tx_queues[i]);
	}
	for (i = 0; i < dev->data->nb_rx_queues; i++) {
		nfp_net_reset_rx_queue(
			(struct nfp_net_rxq *)dev->data->rx_queues[i]);
	}
	if (hw->is_phyport) {
		if (rte_eal_process_type() == RTE_PROC_PRIMARY)
			nfp_eth_set_configured(hw->cpp, hw->idx, 0);
		else
			nfp_eth_set_configured(dev->process_private,
					       hw->idx, 0);
	}
	return 0;
}
static int nfp_net_stop ( struct rte_eth_dev * dev ) { int i ; struct nfp_net_hw * hw ; PMD_INIT_LOG ( DEBUG , " " ) ; hw = NFP_NET_DEV_PRIVATE_TO_HW ( dev -> data -> dev_private ) ; nfp_net_disable_queues ( dev ) ; for ( i = 0 ; i < dev -> data -> nb_tx_queues ; i ++ ) { nfp_net_reset_tx_queue ( ( struct nfp_net_txq * ) dev -> data -> tx_queues [ i ] ) ; } for ( i = 0 ; i < dev -> data -> nb_rx_queues ; i ++ ) { nfp_net_reset_rx_queue ( ( struct nfp_net_rxq * ) dev -> data -> rx_queues [ i ] ) ; } if ( hw -> is_phyport ) { if ( rte_eal_process_type ( ) == RTE_PROC_PRIMARY ) nfp_eth_set_configured ( hw -> cpp , hw -> idx , 0 ) ; else nfp_eth_set_configured ( dev -> process_private , hw -> idx , 0 ) ; } return 0 ; }
Stop device: disable rx and tx functions to allow for reconfiguring.
Stop device : disable rx and tx functions to allow for reconfiguring .
/* Clear queues */ /* Configure the physical port down */