[PATCH v15 09/29] net/rnp: add queue stop and start operations
Stephen Hemminger
stephen at networkplumber.org
Tue Feb 25 17:08:46 CET 2025
On Tue, 25 Feb 2025 16:41:06 +0800
Wenbo Cao <caowenbo at mucse.com> wrote:
> diff --git a/doc/guides/nics/rnp.rst b/doc/guides/nics/rnp.rst
> index 99b96e9b8e..c3547c38b6 100644
> --- a/doc/guides/nics/rnp.rst
> +++ b/doc/guides/nics/rnp.rst
> @@ -71,6 +71,10 @@ Listed below are the rte_eth functions supported:
> * ``rte_eth_dev_close``
> * ``rte_eth_dev_stop``
> * ``rte_eth_dev_infos_get``
> +* ``rte_eth_dev_rx_queue_start``
> +* ``rte_eth_dev_rx_queue_stop``
> +* ``rte_eth_dev_tx_queue_start``
> +* ``rte_eth_dev_tx_queue_stop``
> * ``rte_eth_promiscuous_disable``
> * ``rte_eth_promiscuous_enable``
> * ``rte_eth_allmulticast_enable``
There is no callback in this driver for rx/tx queue start/stop.
Did you test this with test-pmd?
If application calls rte_eth_dev_rx_queue_start()
int
rte_eth_dev_rx_queue_start(uint16_t port_id, uint16_t rx_queue_id)
{
...
if (*dev->dev_ops->rx_queue_start == NULL)
return -ENOTSUP;
The eth_dev_ops in rnp_ethdev.c does not contain rx_queue_start!
/* Features supported by this driver */
static const struct eth_dev_ops rnp_eth_dev_ops = {
.dev_configure = rnp_dev_configure,
.dev_close = rnp_dev_close,
.dev_start = rnp_dev_start,
.dev_stop = rnp_dev_stop,
.dev_infos_get = rnp_dev_infos_get,
/* PROMISC */
.promiscuous_enable = rnp_promiscuous_enable,
.promiscuous_disable = rnp_promiscuous_disable,
.allmulticast_enable = rnp_allmulticast_enable,
.allmulticast_disable = rnp_allmulticast_disable,
.mtu_set = rnp_mtu_set,
.rx_queue_setup = rnp_rx_queue_setup,
.rx_queue_release = rnp_dev_rx_queue_release,
.tx_queue_setup = rnp_tx_queue_setup,
.tx_queue_release = rnp_dev_tx_queue_release,
.rxq_info_get = rnp_rx_queue_info_get,
.txq_info_get = rnp_tx_queue_info_get,
.rx_burst_mode_get = rnp_rx_burst_mode_get,
.tx_burst_mode_get = rnp_tx_burst_mode_get,
/* rss impl */
.reta_update = rnp_dev_rss_reta_update,
.reta_query = rnp_dev_rss_reta_query,
.rss_hash_update = rnp_dev_rss_hash_update,
.rss_hash_conf_get = rnp_dev_rss_hash_conf_get,
/* stats */
.stats_get = rnp_dev_stats_get,
.stats_reset = rnp_dev_stats_reset,
.xstats_get = rnp_dev_xstats_get,
.xstats_reset = rnp_dev_xstats_reset,
.xstats_get_names = rnp_dev_xstats_get_names,
/* link impl */
.link_update = rnp_dev_link_update,
.dev_set_link_up = rnp_dev_set_link_up,
.dev_set_link_down = rnp_dev_set_link_down,
/* mac address filter */
.mac_addr_set = rnp_dev_mac_addr_set,
.mac_addr_add = rnp_dev_mac_addr_add,
.mac_addr_remove = rnp_dev_mac_addr_remove,
.set_mc_addr_list = rnp_dev_set_mc_addr_list,
/* vlan offload */
.vlan_offload_set = rnp_vlan_offload_set,
.vlan_strip_queue_set = rnp_vlan_strip_queue_set,
.vlan_filter_set = rnp_vlan_filter_set,
.dev_supported_ptypes_get = rnp_dev_supported_ptypes_get,
};
More information about the dev
mailing list