MCPcopy Create free account
hub / github.com/F-Stack/f-stack / i40e_dev_rx_queue_stop

Function i40e_dev_rx_queue_stop

dpdk/drivers/net/i40e/i40e_rxtx.c:1736–1765  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1734}
1735
1736int
1737i40e_dev_rx_queue_stop(struct rte_eth_dev *dev, uint16_t rx_queue_id)
1738{
1739 struct i40e_rx_queue *rxq;
1740 int err;
1741 struct i40e_hw *hw = I40E_DEV_PRIVATE_TO_HW(dev->data->dev_private);
1742
1743 rxq = dev->data->rx_queues[rx_queue_id];
1744 if (!rxq || !rxq->q_set) {
1745 PMD_DRV_LOG(ERR, "RX queue %u not available or setup",
1746 rx_queue_id);
1747 return -EINVAL;
1748 }
1749
1750 /*
1751 * rx_queue_id is queue id application refers to, while
1752 * rxq->reg_idx is the real queue index.
1753 */
1754 err = i40e_switch_rx_queue(hw, rxq->reg_idx, FALSE);
1755 if (err) {
1756 PMD_DRV_LOG(ERR, "Failed to switch RX queue %u off",
1757 rx_queue_id);
1758 return err;
1759 }
1760 i40e_rx_queue_release_mbufs(rxq);
1761 i40e_reset_rx_queue(rxq);
1762 dev->data->rx_queue_state[rx_queue_id] = RTE_ETH_QUEUE_STATE_STOPPED;
1763
1764 return 0;
1765}
1766
1767int
1768i40e_dev_tx_queue_start(struct rte_eth_dev *dev, uint16_t tx_queue_id)

Callers 2

i40e_dev_startFunction · 0.85
i40e_dev_stopFunction · 0.85

Calls 3

i40e_switch_rx_queueFunction · 0.85
i40e_reset_rx_queueFunction · 0.85

Tested by

no test coverage detected