Hi Stephen,

I had been not added it to const struct eth_dev_ops  for
.rx/tx_queue_stop/stop :(
Thanks for your check

Regrads Wenbo
> -----Original Message-----
> From: Stephen Hemminger <step...@networkplumber.org>
> Sent: 2025年2月26日 0:09
> To: Wenbo Cao <caowe...@mucse.com>
> Cc: tho...@monjalon.net; dev@dpdk.org; yao...@mucse.com
> Subject: Re: [PATCH v15 09/29] net/rnp: add queue stop and start
operations
> 
> On Tue, 25 Feb 2025 16:41:06 +0800
> Wenbo Cao <caowe...@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,
> };


Reply via email to