Hi Andrew,

Please refer struct rte_eth_dev. Following assignment already preserve the order in struct rte_eth_dev

 

> diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c
> index eb65499cf2..a76796716b 100644
> --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
> +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
> @@ -294,6 +294,7 @@ eth_vmxnet3_dev_init(struct rte_eth_dev *eth_dev)
>       eth_dev->rx_pkt_burst = &vmxnet3_recv_pkts;
>       eth_dev->tx_pkt_burst = &vmxnet3_xmit_pkts;
>       eth_dev->tx_pkt_prepare = vmxnet3_prep_pkts;
> +     eth_dev->rx_queue_count = vmxnet3_dev_rx_queue_count,

Please, put it just after rx_pkt_burst to preserve the same order as in
structure.

 

/**

* @internal

* The generic data structure associated with each Ethernet device.

*

* Pointers to burst-oriented packet receive and transmit functions are

* located at the beginning of the structure, along with the pointer to

* where all the data elements for the particular device are stored in shared

* memory. This split allows the function pointer and driver data to be per-

* process, while the actual configuration data for the device is shared.

*/

struct rte_eth_dev {

    eth_rx_burst_t rx_pkt_burst; /**< Pointer to PMD receive function */

    eth_tx_burst_t tx_pkt_burst; /**< Pointer to PMD transmit function */

 

    /** Pointer to PMD transmit prepare function */

    eth_tx_prep_t tx_pkt_prepare;

    /** Get the number of used Rx descriptors */

    eth_rx_queue_count_t rx_queue_count;

    /** Check the status of a Rx descriptor */

    eth_rx_descriptor_status_t rx_descriptor_status;

    /** Check the status of a Tx descriptor */

    eth_tx_descriptor_status_t tx_descriptor_status;

 

    /**

     * Device data that is shared between primary and secondary processes

     */

    struct rte_eth_dev_data *data;

    void *process_private; /**< Pointer to per-process device data */

    const struct eth_dev_ops *dev_ops; /**< Functions exported by PMD */

    struct rte_device *device; /**< Backing device */

   struct rte_intr_handle *intr_handle; /**< Device interrupt handle */

 

    /** User application callbacks for NIC interrupts */

    struct rte_eth_dev_cb_list link_intr_cbs;

    /**

     * User-supplied functions called from rx_burst to post-process

     * received packets before passing them to the user

     */

    struct rte_eth_rxtx_callback *post_rx_burst_cbs[RTE_MAX_QUEUES_PER_PORT];

    /**

     * User-supplied functions called from tx_burst to pre-process

     * received packets before passing them to the driver for transmission

     */

    struct rte_eth_rxtx_callback *pre_tx_burst_cbs[RTE_MAX_QUEUES_PER_PORT];

 

    enum rte_eth_dev_state state; /**< Flag indicating the port state */

    void *security_ctx; /**< Context for security ops */

} __rte_cache_aligned;

 

Thanks,

Pankaj

 

From: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Date: Wednesday, May 4, 2022 at 7:27 AM
To: Pankaj Gupta <pagupta@vmware.com>, Jochen Behrens <jbehrens@vmware.com>, Yong Wang <yongwang@vmware.com>
Cc: dev@dpdk.org <dev@dpdk.org>
Subject: Re: [PATCH 3/8] vmxnet3: add rx queue usage count utility

External Email

rx -> Rx

in summary in accordance with spelling in DPDK

On 5/3/22 07:22, Pankaj Gupta wrote:
> Count the number of entries in the rx queue for debugging.

rx -> Rx

As I understand debugging is not the only purpose of the API.

>
> Tested, using testpmd, for different hardware version on ESXi 7.0 Update 2
>
> Signed-off-by: Pankaj Gupta <pagupta@vmware.com>
> ---
>   drivers/net/vmxnet3/vmxnet3_ethdev.c |  1 +
>   drivers/net/vmxnet3/vmxnet3_ethdev.h |  3 +++
>   drivers/net/vmxnet3/vmxnet3_rxtx.c   | 30 ++++++++++++++++++++++++++++
>   3 files changed, 34 insertions(+)
>
> diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c
> index eb65499cf2..a76796716b 100644
> --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
> +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
> @@ -294,6 +294,7 @@ eth_vmxnet3_dev_init(struct rte_eth_dev *eth_dev)
>       eth_dev->rx_pkt_burst = &vmxnet3_recv_pkts;
>       eth_dev->tx_pkt_burst = &vmxnet3_xmit_pkts;
>       eth_dev->tx_pkt_prepare = vmxnet3_prep_pkts;
> +     eth_dev->rx_queue_count = vmxnet3_dev_rx_queue_count,

Please, put it just after rx_pkt_burst to preserve the same order as in
structure.

>       pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>
>       /* extra mbuf field is required to guess MSS */

[snip]

________________________________

External Email: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender.