[v2,1/9] ethdev: avoid documentation in next lines

Message ID 20211020074257.2349486-2-andrew.rybchenko@oktetlabs.ru (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers
Series ethdev: cosmetic fixes |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-testing warning apply patch failure

Commit Message

Andrew Rybchenko Oct. 20, 2021, 7:42 a.m. UTC
  Documentation in the next separate line is confusing. If documentation
requires own line it should be before, not after.

Fix a number of incorrect markups on the way.

When corresponding lines are touched by the patch anyway, add
missing full stop to defined types description.

Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
---
 lib/ethdev/ethdev_driver.h   | 270 ++++++++++++++++++-----------------
 lib/ethdev/rte_ethdev.h      | 134 ++++++++---------
 lib/ethdev/rte_ethdev_core.h |  18 ++-
 lib/ethdev/rte_flow.h        |  38 ++---
 lib/ethdev/rte_mtr_driver.h  |  30 ++--
 5 files changed, 254 insertions(+), 236 deletions(-)
  

Comments

Ori Kam Oct. 20, 2021, 8:39 a.m. UTC | #1
> -----Original Message-----
> From: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
> Sent: Wednesday, October 20, 2021 10:43 AM
> To: Ferruh Yigit <ferruh.yigit@intel.com>; NBU-Contact-Thomas Monjalon <thomas@monjalon.net>;
> Ori Kam <orika@nvidia.com>; Cristian Dumitrescu <cristian.dumitrescu@intel.com>
> Cc: dev@dpdk.org
> Subject: [PATCH v2 1/9] ethdev: avoid documentation in next lines
> 
> Documentation in the next separate line is confusing. If documentation
> requires own line it should be before, not after.
> 
> Fix a number of incorrect markups on the way.
> 
> When corresponding lines are touched by the patch anyway, add
> missing full stop to defined types description.
> 
> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
> ---
>  lib/ethdev/ethdev_driver.h   | 270 ++++++++++++++++++-----------------
>  lib/ethdev/rte_ethdev.h      | 134 ++++++++---------
>  lib/ethdev/rte_ethdev_core.h |  18 ++-
>  lib/ethdev/rte_flow.h        |  38 ++---
>  lib/ethdev/rte_mtr_driver.h  |  30 ++--
>  5 files changed, 254 insertions(+), 236 deletions(-)
> 
> diff --git a/lib/ethdev/ethdev_driver.h b/lib/ethdev/ethdev_driver.h
> index 0174ba03d7..8800c9c067 100644
> --- a/lib/ethdev/ethdev_driver.h
> +++ b/lib/ethdev/ethdev_driver.h
> @@ -44,18 +44,17 @@ struct rte_eth_rxtx_callback {
>  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;
> -	/**< Pointer to PMD transmit prepare function. */
> +	/** Get the number of used RX descriptors. */
>  	eth_rx_queue_count_t rx_queue_count;
> -	/**< Get the number of used RX descriptors. */
> +	/** Check the status of a Rx descriptor. */
>  	eth_rx_descriptor_status_t rx_descriptor_status;
> -	/**< Check the status of a Rx descriptor. */
> +	/** Check the status of a Tx descriptor. */
>  	eth_tx_descriptor_status_t tx_descriptor_status;
> -	/**< Check the status of a Tx descriptor. */
> 
>  	/**
> -	 * points to device data that is shared between
> -	 * primary and secondary processes.
> +	 * 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. */
> @@ -100,64 +99,63 @@ struct rte_eth_dev_data {
> 
>  	struct rte_eth_dev_sriov sriov;    /**< SRIOV data */
> 
> +	/** PMD-specific private data. @see rte_eth_dev_release_port(). */
>  	void *dev_private;
> -			/**< PMD-specific private data.
> -			 *   @see rte_eth_dev_release_port()
> -			 */
> 
>  	struct rte_eth_link dev_link;   /**< Link-level information & status. */
>  	struct rte_eth_conf dev_conf;   /**< Configuration applied to device. */
>  	uint16_t mtu;                   /**< Maximum Transmission Unit. */
> +	/** Common RX buffer size handled by all queues. */
>  	uint32_t min_rx_buf_size;
> -			/**< Common RX buffer size handled by all queues. */
> 
>  	uint64_t rx_mbuf_alloc_failed; /**< RX ring mbuf allocation failures. */
> +	/** Device Ethernet link address. @see rte_eth_dev_release_port(). */
>  	struct rte_ether_addr *mac_addrs;
> -			/**< Device Ethernet link address.
> -			 *   @see rte_eth_dev_release_port()
> -			 */
> +	/** Bitmap associating MAC addresses to pools. */
>  	uint64_t mac_pool_sel[ETH_NUM_RECEIVE_MAC_ADDR];
> -			/**< Bitmap associating MAC addresses to pools. */
> +	/**
> +	 * Device Ethernet MAC addresses of hash filtering.
> +	 * @see rte_eth_dev_release_port()
> +	 */
>  	struct rte_ether_addr *hash_mac_addrs;
> -			/**< Device Ethernet MAC addresses of hash filtering.
> -			 *   @see rte_eth_dev_release_port()
> -			 */
>  	uint16_t port_id;           /**< Device [external] port identifier. */
> 
>  	__extension__
> -	uint8_t promiscuous   : 1,
> -		/**< RX promiscuous mode ON(1) / OFF(0). */
> +	uint8_t /** RX promiscuous mode ON(1) / OFF(0). */
> +		promiscuous   : 1,
> +		/** RX of scattered packets is ON(1) / OFF(0) */
>  		scattered_rx : 1,
> -		/**< RX of scattered packets is ON(1) / OFF(0) */
> +		/** RX all multicast mode ON(1) / OFF(0). */
>  		all_multicast : 1,
> -		/**< RX all multicast mode ON(1) / OFF(0). */
> +		/** Device state: STARTED(1) / STOPPED(0). */
>  		dev_started : 1,
> -		/**< Device state: STARTED(1) / STOPPED(0). */
> +		/** RX LRO is ON(1) / OFF(0) */
>  		lro         : 1,
> -		/**< RX LRO is ON(1) / OFF(0) */
> -		dev_configured : 1;
> -		/**< Indicates whether the device is configured.
> -		 *   CONFIGURED(1) / NOT CONFIGURED(0).
> +		/**
> +		 * Indicates whether the device is configured.
> +		 * CONFIGURED(1) / NOT CONFIGURED(0).
>  		 */
> +		dev_configured : 1;
> +	/** Queues state: HAIRPIN(2) / STARTED(1) / STOPPED(0). */
>  	uint8_t rx_queue_state[RTE_MAX_QUEUES_PER_PORT];
> -		/**< Queues state: HAIRPIN(2) / STARTED(1) / STOPPED(0). */
> +	/** Queues state: HAIRPIN(2) / STARTED(1) / STOPPED(0). */
>  	uint8_t tx_queue_state[RTE_MAX_QUEUES_PER_PORT];
> -		/**< Queues state: HAIRPIN(2) / STARTED(1) / STOPPED(0). */
>  	uint32_t dev_flags;             /**< Capabilities. */
>  	int numa_node;                  /**< NUMA node connection. */
> +	/** VLAN filter configuration. */
>  	struct rte_vlan_filter_conf vlan_filter_conf;
> -			/**< VLAN filter configuration. */
>  	struct rte_eth_dev_owner owner; /**< The port owner. */
> +	/**
> +	 * Switch-specific identifier.
> +	 * Valid if RTE_ETH_DEV_REPRESENTOR in dev_flags.
> +	 */
>  	uint16_t representor_id;
> -			/**< Switch-specific identifier.
> -			 *   Valid if RTE_ETH_DEV_REPRESENTOR in dev_flags.
> -			 */
> +	/**
> +	 * Port ID of the backing device.
> +	 * This device will be used to query representor info and calculate
> +	 * representor IDs. Valid if RTE_ETH_DEV_REPRESENTOR in dev_flags.
> +	 */
>  	uint16_t backer_port_id;
> -			/**< Port ID of the backing device.
> -			 *   This device will be used to query representor
> -			 *   info and calculate representor IDs.
> -			 *   Valid if RTE_ETH_DEV_REPRESENTOR in dev_flags.
> -			 */
> 
>  	pthread_mutex_t flow_ops_mutex; /**< rte_flow ops mutex. */
>  	uint64_t reserved_64s[4]; /**< Reserved for future fields */
> @@ -171,7 +169,7 @@ struct rte_eth_dev_data {
>   */
>  extern struct rte_eth_dev rte_eth_devices[];
> 
> -/**< @internal Declaration of the hairpin peer queue information structure. */
> +/** @internal Declaration of the hairpin peer queue information structure. */
>  struct rte_hairpin_peer_info;
> 
>  /*
> @@ -180,29 +178,29 @@ struct rte_hairpin_peer_info;
>   * structure associated with an Ethernet device.
>   */
> 
> +/** @internal Ethernet device configuration. */
>  typedef int  (*eth_dev_configure_t)(struct rte_eth_dev *dev);
> -/**< @internal Ethernet device configuration. */
> 
> +/** @internal Function used to start a configured Ethernet device. */
>  typedef int  (*eth_dev_start_t)(struct rte_eth_dev *dev);
> -/**< @internal Function used to start a configured Ethernet device. */
> 
> +/** @internal Function used to stop a configured Ethernet device. */
>  typedef int (*eth_dev_stop_t)(struct rte_eth_dev *dev);
> -/**< @internal Function used to stop a configured Ethernet device. */
> 
> +/** @internal Function used to link up a configured Ethernet device. */
>  typedef int  (*eth_dev_set_link_up_t)(struct rte_eth_dev *dev);
> -/**< @internal Function used to link up a configured Ethernet device. */
> 
> +/** @internal Function used to link down a configured Ethernet device. */
>  typedef int  (*eth_dev_set_link_down_t)(struct rte_eth_dev *dev);
> -/**< @internal Function used to link down a configured Ethernet device. */
> 
> +/** @internal Function used to close a configured Ethernet device. */
>  typedef int (*eth_dev_close_t)(struct rte_eth_dev *dev);
> -/**< @internal Function used to close a configured Ethernet device. */
> 
> +/** @internal Function used to reset a configured Ethernet device. */
>  typedef int (*eth_dev_reset_t)(struct rte_eth_dev *dev);
> -/** <@internal Function used to reset a configured Ethernet device. */
> 
> +/** @internal Function used to detect an Ethernet device removal. */
>  typedef int (*eth_is_removed_t)(struct rte_eth_dev *dev);
> -/**< @internal Function used to detect an Ethernet device removal. */
> 
>  /**
>   * @internal
> @@ -304,13 +302,16 @@ typedef int (*eth_allmulticast_enable_t)(struct rte_eth_dev *dev);
>   */
>  typedef int (*eth_allmulticast_disable_t)(struct rte_eth_dev *dev);
> 
> +/**
> + * @internal
> + * Get link speed, duplex mode and state (up/down) of an Ethernet device.
> + */
>  typedef int (*eth_link_update_t)(struct rte_eth_dev *dev,
>  				int wait_to_complete);
> -/**< @internal Get link speed, duplex mode and state (up/down) of an Ethernet device. */
> 
> +/** @internal Get global I/O statistics of an Ethernet device. */
>  typedef int (*eth_stats_get_t)(struct rte_eth_dev *dev,
>  				struct rte_eth_stats *igb_stats);
> -/**< @internal Get global I/O statistics of an Ethernet device. */
> 
>  /**
>   * @internal
> @@ -333,9 +334,9 @@ typedef int (*eth_stats_get_t)(struct rte_eth_dev *dev,
>   */
>  typedef int (*eth_stats_reset_t)(struct rte_eth_dev *dev);
> 
> +/** @internal Get extended stats of an Ethernet device. */
>  typedef int (*eth_xstats_get_t)(struct rte_eth_dev *dev,
>  	struct rte_eth_xstat *stats, unsigned int n);
> -/**< @internal Get extended stats of an Ethernet device. */
> 
>  /**
>   * @internal
> @@ -381,9 +382,9 @@ typedef int (*eth_xstats_get_by_id_t)(struct rte_eth_dev *dev,
>   */
>  typedef int (*eth_xstats_reset_t)(struct rte_eth_dev *dev);
> 
> +/** @internal Get names of extended stats of an Ethernet device. */
>  typedef int (*eth_xstats_get_names_t)(struct rte_eth_dev *dev,
>  	struct rte_eth_xstat_name *xstats_names, unsigned int size);
> -/**< @internal Get names of extended stats of an Ethernet device. */
> 
>  /**
>   * @internal
> @@ -407,18 +408,21 @@ typedef int (*eth_xstats_get_names_by_id_t)(struct rte_eth_dev *dev,
>  	const uint64_t *ids, struct rte_eth_xstat_name *xstats_names,
>  	unsigned int size);
> 
> +/**
> + * @internal
> + * Set a queue statistics mapping for a tx/rx queue of an Ethernet device.
> + */
>  typedef int (*eth_queue_stats_mapping_set_t)(struct rte_eth_dev *dev,
>  					     uint16_t queue_id,
>  					     uint8_t stat_idx,
>  					     uint8_t is_rx);
> -/**< @internal Set a queue statistics mapping for a tx/rx queue of an Ethernet device. */
> 
> +/** @internal Get specific information of an Ethernet device. */
>  typedef int (*eth_dev_infos_get_t)(struct rte_eth_dev *dev,
>  				   struct rte_eth_dev_info *dev_info);
> -/**< @internal Get specific information of an Ethernet device. */
> 
> +/** @internal Get supported ptypes of an Ethernet device. */
>  typedef const uint32_t *(*eth_dev_supported_ptypes_get_t)(struct rte_eth_dev *dev);
> -/**< @internal Get supported ptypes of an Ethernet device. */
> 
>  /**
>   * @internal
> @@ -435,47 +439,47 @@ typedef const uint32_t *(*eth_dev_supported_ptypes_get_t)(struct
> rte_eth_dev *de
>  typedef int (*eth_dev_ptypes_set_t)(struct rte_eth_dev *dev,
>  				     uint32_t ptype_mask);
> 
> +/** @internal Start rx and tx of a queue of an Ethernet device. */
>  typedef int (*eth_queue_start_t)(struct rte_eth_dev *dev,
>  				    uint16_t queue_id);
> -/**< @internal Start rx and tx of a queue of an Ethernet device. */
> 
> +/** @internal Stop rx and tx of a queue of an Ethernet device. */
>  typedef int (*eth_queue_stop_t)(struct rte_eth_dev *dev,
>  				    uint16_t queue_id);
> -/**< @internal Stop rx and tx of a queue of an Ethernet device. */
> 
> +/** @internal Set up a receive queue of an Ethernet device. */
>  typedef int (*eth_rx_queue_setup_t)(struct rte_eth_dev *dev,
>  				    uint16_t rx_queue_id,
>  				    uint16_t nb_rx_desc,
>  				    unsigned int socket_id,
>  				    const struct rte_eth_rxconf *rx_conf,
>  				    struct rte_mempool *mb_pool);
> -/**< @internal Set up a receive queue of an Ethernet device. */
> 
> +/** @internal Setup a transmit queue of an Ethernet device. */
>  typedef int (*eth_tx_queue_setup_t)(struct rte_eth_dev *dev,
>  				    uint16_t tx_queue_id,
>  				    uint16_t nb_tx_desc,
>  				    unsigned int socket_id,
>  				    const struct rte_eth_txconf *tx_conf);
> -/**< @internal Setup a transmit queue of an Ethernet device. */
> 
> +/** @internal Enable interrupt of a receive queue of an Ethernet device. */
>  typedef int (*eth_rx_enable_intr_t)(struct rte_eth_dev *dev,
>  				    uint16_t rx_queue_id);
> -/**< @internal Enable interrupt of a receive queue of an Ethernet device. */
> 
> +/** @internal Disable interrupt of a receive queue of an Ethernet device. */
>  typedef int (*eth_rx_disable_intr_t)(struct rte_eth_dev *dev,
>  				    uint16_t rx_queue_id);
> -/**< @internal Disable interrupt of a receive queue of an Ethernet device. */
> 
> +/** @internal Release memory resources allocated by given RX/TX queue. */
>  typedef void (*eth_queue_release_t)(struct rte_eth_dev *dev,
>  				    uint16_t queue_id);
> -/**< @internal Release memory resources allocated by given RX/TX queue. */
> 
> +/** @internal Get firmware information of an Ethernet device. */
>  typedef int (*eth_fw_version_get_t)(struct rte_eth_dev *dev,
>  				     char *fw_version, size_t fw_size);
> -/**< @internal Get firmware information of an Ethernet device. */
> 
> +/** @internal Force mbufs to be from TX ring. */
>  typedef int (*eth_tx_done_cleanup_t)(void *txq, uint32_t free_cnt);
> -/**< @internal Force mbufs to be from TX ring. */
> 
>  typedef void (*eth_rxq_info_get_t)(struct rte_eth_dev *dev,
>  	uint16_t rx_queue_id, struct rte_eth_rxq_info *qinfo);
> @@ -486,159 +490,159 @@ typedef void (*eth_txq_info_get_t)(struct rte_eth_dev *dev,
>  typedef int (*eth_burst_mode_get_t)(struct rte_eth_dev *dev,
>  	uint16_t queue_id, struct rte_eth_burst_mode *mode);
> 
> +/** @internal Set MTU. */
>  typedef int (*mtu_set_t)(struct rte_eth_dev *dev, uint16_t mtu);
> -/**< @internal Set MTU. */
> 
> +/** @internal Filtering of a VLAN Tag Identifier by an Ethernet device. */
>  typedef int (*vlan_filter_set_t)(struct rte_eth_dev *dev,
>  				  uint16_t vlan_id,
>  				  int on);
> -/**< @internal filtering of a VLAN Tag Identifier by an Ethernet device. */
> 
> +/** @internal Set the outer/inner VLAN-TPID by an Ethernet device. */
>  typedef int (*vlan_tpid_set_t)(struct rte_eth_dev *dev,
>  			       enum rte_vlan_type type, uint16_t tpid);
> -/**< @internal set the outer/inner VLAN-TPID by an Ethernet device. */
> 
> +/** @internal Set VLAN offload function by an Ethernet device. */
>  typedef int (*vlan_offload_set_t)(struct rte_eth_dev *dev, int mask);
> -/**< @internal set VLAN offload function by an Ethernet device. */
> 
> +/** @internal Set port based TX VLAN insertion by an Ethernet device. */
>  typedef int (*vlan_pvid_set_t)(struct rte_eth_dev *dev,
>  			       uint16_t vlan_id,
>  			       int on);
> -/**< @internal set port based TX VLAN insertion by an Ethernet device. */
> 
> +/** @internal VLAN stripping enable/disable by an queue of Ethernet device. */
>  typedef void (*vlan_strip_queue_set_t)(struct rte_eth_dev *dev,
>  				  uint16_t rx_queue_id,
>  				  int on);
> -/**< @internal VLAN stripping enable/disable by an queue of Ethernet device. */
> 
> +/** @internal Get current flow control parameter on an Ethernet device. */
>  typedef int (*flow_ctrl_get_t)(struct rte_eth_dev *dev,
>  			       struct rte_eth_fc_conf *fc_conf);
> -/**< @internal Get current flow control parameter on an Ethernet device */
> 
> +/** @internal Setup flow control parameter on an Ethernet device. */
>  typedef int (*flow_ctrl_set_t)(struct rte_eth_dev *dev,
>  			       struct rte_eth_fc_conf *fc_conf);
> -/**< @internal Setup flow control parameter on an Ethernet device */
> 
> +/** @internal Setup priority flow control parameter on an Ethernet device. */
>  typedef int (*priority_flow_ctrl_set_t)(struct rte_eth_dev *dev,
>  				struct rte_eth_pfc_conf *pfc_conf);
> -/**< @internal Setup priority flow control parameter on an Ethernet device */
> 
> +/** @internal Update RSS redirection table on an Ethernet device. */
>  typedef int (*reta_update_t)(struct rte_eth_dev *dev,
>  			     struct rte_eth_rss_reta_entry64 *reta_conf,
>  			     uint16_t reta_size);
> -/**< @internal Update RSS redirection table on an Ethernet device */
> 
> +/** @internal Query RSS redirection table on an Ethernet device. */
>  typedef int (*reta_query_t)(struct rte_eth_dev *dev,
>  			    struct rte_eth_rss_reta_entry64 *reta_conf,
>  			    uint16_t reta_size);
> -/**< @internal Query RSS redirection table on an Ethernet device */
> 
> +/** @internal Update RSS hash configuration of an Ethernet device. */
>  typedef int (*rss_hash_update_t)(struct rte_eth_dev *dev,
>  				 struct rte_eth_rss_conf *rss_conf);
> -/**< @internal Update RSS hash configuration of an Ethernet device */
> 
> +/** @internal Get current RSS hash configuration of an Ethernet device. */
>  typedef int (*rss_hash_conf_get_t)(struct rte_eth_dev *dev,
>  				   struct rte_eth_rss_conf *rss_conf);
> -/**< @internal Get current RSS hash configuration of an Ethernet device */
> 
> +/** @internal Turn on SW controllable LED on an Ethernet device. */
>  typedef int (*eth_dev_led_on_t)(struct rte_eth_dev *dev);
> -/**< @internal Turn on SW controllable LED on an Ethernet device */
> 
> +/** @internal Turn off SW controllable LED on an Ethernet device. */
>  typedef int (*eth_dev_led_off_t)(struct rte_eth_dev *dev);
> -/**< @internal Turn off SW controllable LED on an Ethernet device */
> 
> +/** @internal Remove MAC address from receive address register. */
>  typedef void (*eth_mac_addr_remove_t)(struct rte_eth_dev *dev, uint32_t index);
> -/**< @internal Remove MAC address from receive address register */
> 
> +/** @internal Set a MAC address into Receive Address Register. */
>  typedef int (*eth_mac_addr_add_t)(struct rte_eth_dev *dev,
>  				  struct rte_ether_addr *mac_addr,
>  				  uint32_t index,
>  				  uint32_t vmdq);
> -/**< @internal Set a MAC address into Receive Address Register */
> 
> +/** @internal Set a MAC address into Receive Address Register. */
>  typedef int (*eth_mac_addr_set_t)(struct rte_eth_dev *dev,
>  				  struct rte_ether_addr *mac_addr);
> -/**< @internal Set a MAC address into Receive Address Register */
> 
> +/** @internal Set a Unicast Hash bitmap. */
>  typedef int (*eth_uc_hash_table_set_t)(struct rte_eth_dev *dev,
>  				  struct rte_ether_addr *mac_addr,
>  				  uint8_t on);
> -/**< @internal Set a Unicast Hash bitmap */
> 
> +/** @internal Set all Unicast Hash bitmap. */
>  typedef int (*eth_uc_all_hash_table_set_t)(struct rte_eth_dev *dev,
>  				  uint8_t on);
> -/**< @internal Set all Unicast Hash bitmap */
> 
> +/** @internal Set queue TX rate. */
>  typedef int (*eth_set_queue_rate_limit_t)(struct rte_eth_dev *dev,
>  				uint16_t queue_idx,
>  				uint16_t tx_rate);
> -/**< @internal Set queue TX rate */
> 
> +/** @internal Add tunneling UDP port. */
>  typedef int (*eth_udp_tunnel_port_add_t)(struct rte_eth_dev *dev,
>  					 struct rte_eth_udp_tunnel *tunnel_udp);
> -/**< @internal Add tunneling UDP port */
> 
> +/** @internal Delete tunneling UDP port. */
>  typedef int (*eth_udp_tunnel_port_del_t)(struct rte_eth_dev *dev,
>  					 struct rte_eth_udp_tunnel *tunnel_udp);
> -/**< @internal Delete tunneling UDP port */
> 
> +/** @internal set the list of multicast addresses on an Ethernet device. */
>  typedef int (*eth_set_mc_addr_list_t)(struct rte_eth_dev *dev,
>  				      struct rte_ether_addr *mc_addr_set,
>  				      uint32_t nb_mc_addr);
> -/**< @internal set the list of multicast addresses on an Ethernet device */
> 
> +/** @internal Function used to enable IEEE1588/802.1AS timestamping. */
>  typedef int (*eth_timesync_enable_t)(struct rte_eth_dev *dev);
> -/**< @internal Function used to enable IEEE1588/802.1AS timestamping. */
> 
> +/** @internal Function used to disable IEEE1588/802.1AS timestamping. */
>  typedef int (*eth_timesync_disable_t)(struct rte_eth_dev *dev);
> -/**< @internal Function used to disable IEEE1588/802.1AS timestamping. */
> 
> +/** @internal Function used to read an RX IEEE1588/802.1AS timestamp. */
>  typedef int (*eth_timesync_read_rx_timestamp_t)(struct rte_eth_dev *dev,
>  						struct timespec *timestamp,
>  						uint32_t flags);
> -/**< @internal Function used to read an RX IEEE1588/802.1AS timestamp. */
> 
> +/** @internal Function used to read a TX IEEE1588/802.1AS timestamp. */
>  typedef int (*eth_timesync_read_tx_timestamp_t)(struct rte_eth_dev *dev,
>  						struct timespec *timestamp);
> -/**< @internal Function used to read a TX IEEE1588/802.1AS timestamp. */
> 
> +/** @internal Function used to adjust the device clock. */
>  typedef int (*eth_timesync_adjust_time)(struct rte_eth_dev *dev, int64_t);
> -/**< @internal Function used to adjust the device clock */
> 
> +/** @internal Function used to get time from the device clock. */
>  typedef int (*eth_timesync_read_time)(struct rte_eth_dev *dev,
>  				      struct timespec *timestamp);
> -/**< @internal Function used to get time from the device clock. */
> 
> +/** @internal Function used to get time from the device clock. */
>  typedef int (*eth_timesync_write_time)(struct rte_eth_dev *dev,
>  				       const struct timespec *timestamp);
> -/**< @internal Function used to get time from the device clock */
> 
> +/** @internal Function used to get the current value of the device clock. */
>  typedef int (*eth_read_clock)(struct rte_eth_dev *dev,
>  				      uint64_t *timestamp);
> -/**< @internal Function used to get the current value of the device clock. */
> 
> +/** @internal Retrieve registers. */
>  typedef int (*eth_get_reg_t)(struct rte_eth_dev *dev,
>  				struct rte_dev_reg_info *info);
> -/**< @internal Retrieve registers  */
> 
> +/** @internal Retrieve eeprom size. */
>  typedef int (*eth_get_eeprom_length_t)(struct rte_eth_dev *dev);
> -/**< @internal Retrieve eeprom size  */
> 
> +/** @internal Retrieve eeprom data. */
>  typedef int (*eth_get_eeprom_t)(struct rte_eth_dev *dev,
>  				struct rte_dev_eeprom_info *info);
> -/**< @internal Retrieve eeprom data  */
> 
> +/** @internal Program eeprom data. */
>  typedef int (*eth_set_eeprom_t)(struct rte_eth_dev *dev,
>  				struct rte_dev_eeprom_info *info);
> -/**< @internal Program eeprom data  */
> 
> +/** @internal Retrieve type and size of plugin module eeprom. */
>  typedef int (*eth_get_module_info_t)(struct rte_eth_dev *dev,
>  				     struct rte_eth_dev_module_info *modinfo);
> -/**< @internal Retrieve type and size of plugin module eeprom */
> 
> +/** @internal Retrieve plugin module eeprom data. */
>  typedef int (*eth_get_module_eeprom_t)(struct rte_eth_dev *dev,
>  				       struct rte_dev_eeprom_info *info);
> -/**< @internal Retrieve plugin module eeprom data */
> 
>  struct rte_flow_ops;
>  /**
> @@ -651,19 +655,19 @@ struct rte_flow_ops;
>  typedef int (*eth_flow_ops_get_t)(struct rte_eth_dev *dev,
>  				  const struct rte_flow_ops **ops);
> 
> +/** @internal Get Traffic Management (TM) operations on an Ethernet device. */
>  typedef int (*eth_tm_ops_get_t)(struct rte_eth_dev *dev, void *ops);
> -/**< @internal Get Traffic Management (TM) operations on an Ethernet device */
> 
> +/** @internal Get Traffic Metering and Policing (MTR) operations. */
>  typedef int (*eth_mtr_ops_get_t)(struct rte_eth_dev *dev, void *ops);
> -/**< @internal Get Traffic Metering and Policing (MTR) operations */
> 
> +/** @internal Get dcb information on an Ethernet device. */
>  typedef int (*eth_get_dcb_info)(struct rte_eth_dev *dev,
>  				 struct rte_eth_dcb_info *dcb_info);
> -/**< @internal Get dcb information on an Ethernet device */
> 
> +/** @internal Test if a port supports specific mempool ops. */
>  typedef int (*eth_pool_ops_supported_t)(struct rte_eth_dev *dev,
>  						const char *pool);
> -/**< @internal Test if a port supports specific mempool ops */
> 
>  /**
>   * @internal
> @@ -905,20 +909,20 @@ typedef int (*eth_hairpin_bind_t)(struct rte_eth_dev *dev,
>  typedef int (*eth_hairpin_unbind_t)(struct rte_eth_dev *dev,
>  				  uint16_t rx_port);
> 
> +/** @internal Update and fetch peer queue information. */
>  typedef int (*eth_hairpin_queue_peer_update_t)
>  	(struct rte_eth_dev *dev, uint16_t peer_queue,
>  	 struct rte_hairpin_peer_info *current_info,
>  	 struct rte_hairpin_peer_info *peer_info, uint32_t direction);
> -/**< @internal Update and fetch peer queue information. */
> 
> +/** @internal Bind peer queue to the current queue with fetched information. */
>  typedef int (*eth_hairpin_queue_peer_bind_t)
>  	(struct rte_eth_dev *dev, uint16_t cur_queue,
>  	 struct rte_hairpin_peer_info *peer_info, uint32_t direction);
> -/**< @internal Bind peer queue to the current queue with fetched information. */
> 
> +/** @internal Unbind peer queue from the current queue. */
>  typedef int (*eth_hairpin_queue_peer_unbind_t)
>  	(struct rte_eth_dev *dev, uint16_t cur_queue, uint32_t direction);
> -/**< @internal Unbind peer queue from the current queue. */
> 
>  /**
>   * @internal
> @@ -992,8 +996,8 @@ struct eth_dev_ops {
>  	eth_dev_close_t            dev_close;     /**< Close device. */
>  	eth_dev_reset_t		   dev_reset;	  /**< Reset device. */
>  	eth_link_update_t          link_update;   /**< Get device link state. */
> +	/** Check if the device was physically removed. */
>  	eth_is_removed_t           is_removed;
> -	/**< Check if the device was physically removed. */
> 
>  	eth_promiscuous_enable_t   promiscuous_enable; /**< Promiscuous ON. */
>  	eth_promiscuous_disable_t  promiscuous_disable;/**< Promiscuous OFF. */
> @@ -1009,10 +1013,10 @@ struct eth_dev_ops {
>  	eth_stats_reset_t          stats_reset;   /**< Reset generic device statistics. */
>  	eth_xstats_get_t           xstats_get;    /**< Get extended device statistics. */
>  	eth_xstats_reset_t         xstats_reset;  /**< Reset extended device statistics. */
> +	/** Get names of extended statistics. */
>  	eth_xstats_get_names_t     xstats_get_names;
> -	/**< Get names of extended statistics. */
> +	/** Configure per queue stat counter mapping. */
>  	eth_queue_stats_mapping_set_t queue_stats_mapping_set;
> -	/**< Configure per queue stat counter mapping. */
> 
>  	eth_dev_infos_get_t        dev_infos_get; /**< Get device info. */
>  	eth_rxq_info_get_t         rxq_info_get; /**< retrieve RX queue information. */
> @@ -1020,10 +1024,13 @@ struct eth_dev_ops {
>  	eth_burst_mode_get_t       rx_burst_mode_get; /**< Get RX burst mode */
>  	eth_burst_mode_get_t       tx_burst_mode_get; /**< Get TX burst mode */
>  	eth_fw_version_get_t       fw_version_get; /**< Get firmware version. */
> +	/** Get packet types supported and identified by device. */
>  	eth_dev_supported_ptypes_get_t dev_supported_ptypes_get;
> -	/**< Get packet types supported and identified by device. */
> +	/**
> +	 * Inform Ethernet device about reduced range of packet types to
> +	 * handle.
> +	 */
>  	eth_dev_ptypes_set_t dev_ptypes_set;
> -	/**< Inform Ethernet device about reduced range of packet types to handle. */
> 
>  	vlan_filter_set_t          vlan_filter_set; /**< Filter VLAN Setup. */
>  	vlan_tpid_set_t            vlan_tpid_set; /**< Outer/Inner VLAN TPID Setup. */
> @@ -1092,51 +1099,52 @@ struct eth_dev_ops {
> 
>  	eth_read_clock             read_clock;
> 
> +	/** Get extended device statistic values by ID. */
>  	eth_xstats_get_by_id_t     xstats_get_by_id;
> -	/**< Get extended device statistic values by ID. */
> +	/** Get name of extended device statistics by ID. */
>  	eth_xstats_get_names_by_id_t xstats_get_names_by_id;
> -	/**< Get name of extended device statistics by ID. */
> 
> +	/** Get Traffic Management (TM) operations. */
>  	eth_tm_ops_get_t tm_ops_get;
> -	/**< Get Traffic Management (TM) operations. */
> 
> +	/** Get Traffic Metering and Policing (MTR) operations. */
>  	eth_mtr_ops_get_t mtr_ops_get;
> -	/**< Get Traffic Metering and Policing (MTR) operations. */
> 
> +	/** Test if a port supports specific mempool ops */
>  	eth_pool_ops_supported_t pool_ops_supported;
> -	/**< Test if a port supports specific mempool ops */
> 
> +	/** Returns the hairpin capabilities. */
>  	eth_hairpin_cap_get_t hairpin_cap_get;
> -	/**< Returns the hairpin capabilities. */
> +	/** Set up device RX hairpin queue. */
>  	eth_rx_hairpin_queue_setup_t rx_hairpin_queue_setup;
> -	/**< Set up device RX hairpin queue. */
> +	/** Set up device TX hairpin queue. */
>  	eth_tx_hairpin_queue_setup_t tx_hairpin_queue_setup;
> -	/**< Set up device TX hairpin queue. */
> 
> +	/** Get Forward Error Correction(FEC) capability. */
>  	eth_fec_get_capability_t fec_get_capability;
> -	/**< Get Forward Error Correction(FEC) capability. */
> +	/** Get Forward Error Correction(FEC) mode. */
>  	eth_fec_get_t fec_get;
> -	/**< Get Forward Error Correction(FEC) mode. */
> +	/** Set Forward Error Correction(FEC) mode. */
>  	eth_fec_set_t fec_set;
> -	/**< Set Forward Error Correction(FEC) mode. */
> +
> +	/** Get hairpin peer ports list. */
>  	hairpin_get_peer_ports_t hairpin_get_peer_ports;
> -	/**< Get hairpin peer ports list. */
> +	/** Bind all hairpin Tx queues of device to the peer port Rx queues. */
>  	eth_hairpin_bind_t hairpin_bind;
> -	/**< Bind all hairpin Tx queues of device to the peer port Rx queues. */
> +	/** Unbind all hairpin Tx queues from the peer port Rx queues. */
>  	eth_hairpin_unbind_t hairpin_unbind;
> -	/**< Unbind all hairpin Tx queues from the peer port Rx queues. */
> +	/** Pass the current queue info and get the peer queue info. */
>  	eth_hairpin_queue_peer_update_t hairpin_queue_peer_update;
> -	/**< Pass the current queue info and get the peer queue info. */
> +	/** Set up the connection between the pair of hairpin queues. */
>  	eth_hairpin_queue_peer_bind_t hairpin_queue_peer_bind;
> -	/**< Set up the connection between the pair of hairpin queues. */
> +	/** Disconnect the hairpin queues of a pair from each other. */
>  	eth_hairpin_queue_peer_unbind_t hairpin_queue_peer_unbind;
> -	/**< Disconnect the hairpin queues of a pair from each other. */
> 
> +	/** Get power monitoring condition for Rx queue. */
>  	eth_get_monitor_addr_t get_monitor_addr;
> -	/**< Get power monitoring condition for Rx queue. */
> 
> +	/** Get representor info. */
>  	eth_representor_info_get_t representor_info_get;
> -	/**< Get representor info. */
> 
>  	/**
>  	 * Negotiate the NIC's ability to deliver specific
> diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h
> index 69766eaae2..2d43c226f6 100644
> --- a/lib/ethdev/rte_ethdev.h
> +++ b/lib/ethdev/rte_ethdev.h
> @@ -256,24 +256,25 @@ struct rte_eth_stats {
>  	uint64_t opackets;  /**< Total number of successfully transmitted packets.*/
>  	uint64_t ibytes;    /**< Total number of successfully received bytes. */
>  	uint64_t obytes;    /**< Total number of successfully transmitted bytes. */
> -	uint64_t imissed;
> -	/**< Total of RX packets dropped by the HW,
> +	/**
> +	 * Total of RX packets dropped by the HW,
>  	 * because there are no available buffer (i.e. RX queues are full).
>  	 */
> +	uint64_t imissed;
>  	uint64_t ierrors;   /**< Total number of erroneous received packets. */
>  	uint64_t oerrors;   /**< Total number of failed transmitted packets. */
>  	uint64_t rx_nombuf; /**< Total number of RX mbuf allocation failures. */
>  	/* Queue stats are limited to max 256 queues */
> +	/** Total number of queue RX packets. */
>  	uint64_t q_ipackets[RTE_ETHDEV_QUEUE_STAT_CNTRS];
> -	/**< Total number of queue RX packets. */
> +	/** Total number of queue TX packets. */
>  	uint64_t q_opackets[RTE_ETHDEV_QUEUE_STAT_CNTRS];
> -	/**< Total number of queue TX packets. */
> +	/** Total number of successfully received queue bytes. */
>  	uint64_t q_ibytes[RTE_ETHDEV_QUEUE_STAT_CNTRS];
> -	/**< Total number of successfully received queue bytes. */
> +	/** Total number of successfully transmitted queue bytes. */
>  	uint64_t q_obytes[RTE_ETHDEV_QUEUE_STAT_CNTRS];
> -	/**< Total number of successfully transmitted queue bytes. */
> +	/** Total number of queue packets received that are dropped. */
>  	uint64_t q_errors[RTE_ETHDEV_QUEUE_STAT_CNTRS];
> -	/**< Total number of queue packets received that are dropped. */
>  };
> 
>  /**@{@name Link speed capabilities
> @@ -499,8 +500,8 @@ struct rte_eth_rss_conf {
>  #define RTE_ETH_FLOW_IPV6_EX            15
>  #define RTE_ETH_FLOW_IPV6_TCP_EX        16
>  #define RTE_ETH_FLOW_IPV6_UDP_EX        17
> +/** Consider device port number as a flow differentiator */
>  #define RTE_ETH_FLOW_PORT               18
> -	/**< Consider device port number as a flow differentiator */
>  #define RTE_ETH_FLOW_VXLAN              19 /**< VXLAN protocol based flow */
>  #define RTE_ETH_FLOW_GENEVE             20 /**< GENEVE protocol based flow */
>  #define RTE_ETH_FLOW_NVGRE              21 /**< NVGRE protocol based flow */
> @@ -768,7 +769,7 @@ rte_eth_rss_hf_refine(uint64_t rss_hf)
>  	ETH_RSS_S_VLAN  | \
>  	ETH_RSS_C_VLAN)
> 
> -/**< Mask of valid RSS hash protocols */
> +/** Mask of valid RSS hash protocols */
>  #define ETH_RSS_PROTO_MASK ( \
>  	ETH_RSS_IPV4 | \
>  	ETH_RSS_FRAG_IPV4 | \
> @@ -851,10 +852,10 @@ rte_eth_rss_hf_refine(uint64_t rss_hf)
>   * is needed.
>   */
>  struct rte_eth_rss_reta_entry64 {
> +	/** Mask bits indicate which entries need to be updated/queried. */
>  	uint64_t mask;
> -	/**< Mask bits indicate which entries need to be updated/queried. */
> +	/** Group of 64 redirection table entries. */
>  	uint16_t reta[RTE_RETA_GROUP_SIZE];
> -	/**< Group of 64 redirection table entries. */
>  };
> 
>  /**
> @@ -920,8 +921,8 @@ struct rte_eth_vmdq_dcb_conf {
>  		uint16_t vlan_id; /**< The vlan id of the received frame */
>  		uint64_t pools;   /**< Bitmask of pools for packet rx */
>  	} pool_map[ETH_VMDQ_MAX_VLAN_FILTERS]; /**< VMDq vlan pool maps. */
> +	/** Selects a queue in a pool */
>  	uint8_t dcb_tc[ETH_DCB_NUM_USER_PRIORITIES];
> -	/**< Selects a queue in a pool */
>  };
> 
>  /**
> @@ -969,12 +970,12 @@ struct rte_eth_txmode {
> 
>  	uint16_t pvid;
>  	__extension__
> -	uint8_t hw_vlan_reject_tagged : 1,
> -		/**< If set, reject sending out tagged pkts */
> +	uint8_t /** If set, reject sending out tagged pkts */
> +		hw_vlan_reject_tagged : 1,
> +		/** If set, reject sending out untagged pkts */
>  		hw_vlan_reject_untagged : 1,
> -		/**< If set, reject sending out untagged pkts */
> +		/** If set, enable port based VLAN insertion */
>  		hw_vlan_insert_pvid : 1;
> -		/**< If set, enable port based VLAN insertion */
> 
>  	uint64_t reserved_64s[2]; /**< Reserved for future fields */
>  	void *reserved_ptrs[2];   /**< Reserved for future fields */
> @@ -1268,8 +1269,8 @@ struct rte_fdir_conf {
>  	/** RX queue of packets matching a "drop" filter in perfect mode. */
>  	uint8_t drop_queue;
>  	struct rte_eth_fdir_masks mask;
> +	/** Flex payload configuration. */
>  	struct rte_eth_fdir_flex_conf flex_conf;
> -	/**< Flex payload configuration. */
>  };
> 
>  /**
> @@ -1320,20 +1321,20 @@ struct rte_eth_conf {
>  				 are defined in implementation of each driver. */
>  	struct {
>  		struct rte_eth_rss_conf rss_conf; /**< Port RSS configuration */
> +		/** Port vmdq+dcb configuration. */
>  		struct rte_eth_vmdq_dcb_conf vmdq_dcb_conf;
> -		/**< Port vmdq+dcb configuration. */
> +		/** Port dcb RX configuration. */
>  		struct rte_eth_dcb_rx_conf dcb_rx_conf;
> -		/**< Port dcb RX configuration. */
> +		/** Port vmdq RX configuration. */
>  		struct rte_eth_vmdq_rx_conf vmdq_rx_conf;
> -		/**< Port vmdq RX configuration. */
>  	} rx_adv_conf; /**< Port RX filtering configuration. */
>  	union {
> +		/** Port vmdq+dcb TX configuration. */
>  		struct rte_eth_vmdq_dcb_tx_conf vmdq_dcb_tx_conf;
> -		/**< Port vmdq+dcb TX configuration. */
> +		/** Port dcb TX configuration. */
>  		struct rte_eth_dcb_tx_conf dcb_tx_conf;
> -		/**< Port dcb TX configuration. */
> +		/** Port vmdq TX configuration. */
>  		struct rte_eth_vmdq_tx_conf vmdq_tx_conf;
> -		/**< Port vmdq TX configuration. */
>  	} tx_adv_conf; /**< Port TX DCB configuration (union). */
>  	/** Currently,Priority Flow Control(PFC) are supported,if DCB with PFC
>  	    is needed,and the variable must be set ETH_DCB_PFC_SUPPORT. */
> @@ -1400,17 +1401,19 @@ struct rte_eth_conf {
>  #define DEV_TX_OFFLOAD_IPIP_TNL_TSO     0x00000800    /**< Used for tunneling packet. */
>  #define DEV_TX_OFFLOAD_GENEVE_TNL_TSO   0x00001000    /**< Used for tunneling packet. */
>  #define DEV_TX_OFFLOAD_MACSEC_INSERT    0x00002000
> -#define DEV_TX_OFFLOAD_MT_LOCKFREE      0x00004000
> -/**< Multiple threads can invoke rte_eth_tx_burst() concurrently on the same
> +/**
> + * Multiple threads can invoke rte_eth_tx_burst() concurrently on the same
>   * tx queue without SW lock.
>   */
> +#define DEV_TX_OFFLOAD_MT_LOCKFREE      0x00004000
> +/** Device supports multi segment send. */
>  #define DEV_TX_OFFLOAD_MULTI_SEGS	0x00008000
> -/**< Device supports multi segment send. */
> -#define DEV_TX_OFFLOAD_MBUF_FAST_FREE	0x00010000
> -/**< Device supports optimization for fast release of mbufs.
> - *   When set application must guarantee that per-queue all mbufs comes from
> - *   the same mempool and has refcnt = 1.
> +/**
> + * Device supports optimization for fast release of mbufs.
> + * When set application must guarantee that per-queue all mbufs comes from
> + * the same mempool and has refcnt = 1.
>   */
> +#define DEV_TX_OFFLOAD_MBUF_FAST_FREE	0x00010000
>  #define DEV_TX_OFFLOAD_SECURITY         0x00020000
>  /**
>   * Device supports generic UDP tunneled packet TSO.
> @@ -1479,14 +1482,14 @@ struct rte_eth_dev_portconf {
>  struct rte_eth_switch_info {
>  	const char *name;	/**< switch name */
>  	uint16_t domain_id;	/**< switch domain id */
> -	uint16_t port_id;
> -	/**<
> -	 * mapping to the devices physical switch port as enumerated from the
> +	/**
> +	 * Mapping to the devices physical switch port as enumerated from the
>  	 * perspective of the embedded interconnect/switch. For SR-IOV enabled
>  	 * device this may correspond to the VF_ID of each virtual function,
>  	 * but each driver should explicitly define the mapping of switch
>  	 * port identifier to that physical interconnect/switch
>  	 */
> +	uint16_t port_id;
>  };
> 
>  /**
> @@ -1543,16 +1546,16 @@ struct rte_eth_dev_info {
>  	uint16_t max_vfs; /**< Maximum number of VFs. */
>  	uint16_t max_vmdq_pools; /**< Maximum number of VMDq pools. */
>  	struct rte_eth_rxseg_capa rx_seg_capa; /**< Segmentation capability.*/
> +	/** All RX offload capabilities including all per-queue ones */
>  	uint64_t rx_offload_capa;
> -	/**< All RX offload capabilities including all per-queue ones */
> +	/** All TX offload capabilities including all per-queue ones */
>  	uint64_t tx_offload_capa;
> -	/**< All TX offload capabilities including all per-queue ones */
> +	/** Device per-queue RX offload capabilities. */
>  	uint64_t rx_queue_offload_capa;
> -	/**< Device per-queue RX offload capabilities. */
> +	/** Device per-queue TX offload capabilities. */
>  	uint64_t tx_queue_offload_capa;
> -	/**< Device per-queue TX offload capabilities. */
> +	/** Device redirection table size, the total number of entries. */
>  	uint16_t reta_size;
> -	/**< Device redirection table size, the total number of entries. */
>  	uint8_t hash_key_size; /**< Hash key size in bytes */
>  	/** Bit mask of RSS offloads, the bit offset also means flow type */
>  	uint64_t flow_type_rss_offloads;
> @@ -1740,13 +1743,13 @@ struct rte_eth_fec_capa {
>  } while (0)
> 
>  /**@{@name L2 tunnel configuration */
> -/**< l2 tunnel enable mask */
> +/** L2 tunnel enable mask */
>  #define ETH_L2_TUNNEL_ENABLE_MASK       0x00000001
> -/**< l2 tunnel insertion mask */
> +/** L2 tunnel insertion mask */
>  #define ETH_L2_TUNNEL_INSERTION_MASK    0x00000002
> -/**< l2 tunnel stripping mask */
> +/** L2 tunnel stripping mask */
>  #define ETH_L2_TUNNEL_STRIPPING_MASK    0x00000004
> -/**< l2 tunnel forwarding mask */
> +/** L2 tunnel forwarding mask */
>  #define ETH_L2_TUNNEL_FORWARDING_MASK   0x00000008
>  /**@}*/
> 
> @@ -3347,8 +3350,8 @@ struct rte_eth_dev_tx_buffer {
>  	void *error_userdata;
>  	uint16_t size;           /**< Size of buffer for buffered tx */
>  	uint16_t length;         /**< Number of packets in the array */
> +	/** Pending packets to be sent on explicit flush or when full */
>  	struct rte_mbuf *pkts[];
> -	/**< Pending packets to be sent on explicit flush or when full */
>  };
> 
>  /**
> @@ -3487,16 +3490,16 @@ rte_eth_tx_done_cleanup(uint16_t port_id, uint16_t queue_id, uint32_t
> free_cnt);
>   * eth device.
>   */
>  enum rte_eth_event_ipsec_subtype {
> +	/** Unknown event type */
>  	RTE_ETH_EVENT_IPSEC_UNKNOWN = 0,
> -			/**< Unknown event type */
> +	/** Sequence number overflow */
>  	RTE_ETH_EVENT_IPSEC_ESN_OVERFLOW,
> -			/**< Sequence number overflow */
> +	/** Soft time expiry of SA */
>  	RTE_ETH_EVENT_IPSEC_SA_TIME_EXPIRY,
> -			/**< Soft time expiry of SA */
> +	/** Soft byte expiry of SA */
>  	RTE_ETH_EVENT_IPSEC_SA_BYTE_EXPIRY,
> -			/**< Soft byte expiry of SA */
> +	/** Max value of this enum */
>  	RTE_ETH_EVENT_IPSEC_MAX
> -			/**< Max value of this enum */
>  };
> 
>  /**
> @@ -3504,22 +3507,23 @@ enum rte_eth_event_ipsec_subtype {
>   * information of the IPsec offload event.
>   */
>  struct rte_eth_event_ipsec_desc {
> +	/** Type of RTE_ETH_EVENT_IPSEC_* event */
>  	enum rte_eth_event_ipsec_subtype subtype;
> -			/**< Type of RTE_ETH_EVENT_IPSEC_* event */
> +	/**
> +	 * Event specific metadata.
> +	 *
> +	 * For the following events, *userdata* registered
> +	 * with the *rte_security_session* would be returned
> +	 * as metadata,
> +	 *
> +	 * - @ref RTE_ETH_EVENT_IPSEC_ESN_OVERFLOW
> +	 * - @ref RTE_ETH_EVENT_IPSEC_SA_TIME_EXPIRY
> +	 * - @ref RTE_ETH_EVENT_IPSEC_SA_BYTE_EXPIRY
> +	 *
> +	 * @see struct rte_security_session_conf
> +	 *
> +	 */
>  	uint64_t metadata;
> -			/**< Event specific metadata
> -			 *
> -			 * For the following events, *userdata* registered
> -			 * with the *rte_security_session* would be returned
> -			 * as metadata,
> -			 *
> -			 * - @ref RTE_ETH_EVENT_IPSEC_ESN_OVERFLOW
> -			 * - @ref RTE_ETH_EVENT_IPSEC_SA_TIME_EXPIRY
> -			 * - @ref RTE_ETH_EVENT_IPSEC_SA_BYTE_EXPIRY
> -			 *
> -			 * @see struct rte_security_session_conf
> -			 *
> -			 */
>  };
> 
>  /**
> @@ -3528,10 +3532,10 @@ struct rte_eth_event_ipsec_desc {
>  enum rte_eth_event_type {
>  	RTE_ETH_EVENT_UNKNOWN,  /**< unknown event type */
>  	RTE_ETH_EVENT_INTR_LSC, /**< lsc interrupt event */
> +	/** queue state event (enabled/disabled) */
>  	RTE_ETH_EVENT_QUEUE_STATE,
> -				/**< queue state event (enabled/disabled) */
> +	/** reset interrupt event, sent to VF on PF reset */
>  	RTE_ETH_EVENT_INTR_RESET,
> -			/**< reset interrupt event, sent to VF on PF reset */
>  	RTE_ETH_EVENT_VF_MBOX,  /**< message from the VF received by PF */
>  	RTE_ETH_EVENT_MACSEC,   /**< MACsec offload related event */
>  	RTE_ETH_EVENT_INTR_RMV, /**< device removal event */
> @@ -3542,9 +3546,9 @@ enum rte_eth_event_type {
>  	RTE_ETH_EVENT_MAX       /**< max value of this enum */
>  };
> 
> +/** User application callback to be registered for interrupts. */
>  typedef int (*rte_eth_dev_cb_fn)(uint16_t port_id,
>  		enum rte_eth_event_type event, void *cb_arg, void *ret_param);
> -/**< user application callback to be registered for interrupts */
> 
>  /**
>   * Register a callback function for port event.
> diff --git a/lib/ethdev/rte_ethdev_core.h b/lib/ethdev/rte_ethdev_core.h
> index 2b8660c578..18d725fca1 100644
> --- a/lib/ethdev/rte_ethdev_core.h
> +++ b/lib/ethdev/rte_ethdev_core.h
> @@ -25,30 +25,36 @@ RTE_TAILQ_HEAD(rte_eth_dev_cb_list, rte_eth_dev_callback);
> 
>  struct rte_eth_dev;
> 
> +/**
> + * @internal Retrieve input packets from a receive queue of an Ethernet device.
> + */
>  typedef uint16_t (*eth_rx_burst_t)(void *rxq,
>  				   struct rte_mbuf **rx_pkts,
>  				   uint16_t nb_pkts);
> -/**< @internal Retrieve input packets from a receive queue of an Ethernet device. */
> 
> +/**
> + * @internal Send output packets on a transmit queue of an Ethernet device.
> + */
>  typedef uint16_t (*eth_tx_burst_t)(void *txq,
>  				   struct rte_mbuf **tx_pkts,
>  				   uint16_t nb_pkts);
> -/**< @internal Send output packets on a transmit queue of an Ethernet device. */
> 
> +/**
> + * @internal Prepare output packets on a transmit queue of an Ethernet device.
> + */
>  typedef uint16_t (*eth_tx_prep_t)(void *txq,
>  				   struct rte_mbuf **tx_pkts,
>  				   uint16_t nb_pkts);
> -/**< @internal Prepare output packets on a transmit queue of an Ethernet device. */
> 
> 
> +/** @internal Get number of used descriptors on a receive queue. */
>  typedef uint32_t (*eth_rx_queue_count_t)(void *rxq);
> -/**< @internal Get number of used descriptors on a receive queue. */
> 
> +/** @internal Check the status of a Rx descriptor */
>  typedef int (*eth_rx_descriptor_status_t)(void *rxq, uint16_t offset);
> -/**< @internal Check the status of a Rx descriptor */
> 
> +/** @internal Check the status of a Tx descriptor */
>  typedef int (*eth_tx_descriptor_status_t)(void *txq, uint16_t offset);
> -/**< @internal Check the status of a Tx descriptor */
> 
>  /**
>   * @internal
> diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h
> index d5bfdaaaf2..45b360d4ac 100644
> --- a/lib/ethdev/rte_flow.h
> +++ b/lib/ethdev/rte_flow.h
> @@ -892,8 +892,8 @@ struct rte_flow_item_vlan {
>  		};
>  		struct rte_vlan_hdr hdr;
>  	};
> +	/** Packet header contains at least one more VLAN, after this VLAN. */
>  	uint32_t has_more_vlan:1;
> -	/**< Packet header contains at least one more VLAN, after this VLAN. */
>  	uint32_t reserved:31; /**< Reserved, must be zero. */
>  };
> 
> @@ -935,26 +935,26 @@ static const struct rte_flow_item_ipv4 rte_flow_item_ipv4_mask = {
>   */
>  struct rte_flow_item_ipv6 {
>  	struct rte_ipv6_hdr hdr; /**< IPv6 header definition. */
> +	/** Header contains Hop-by-Hop Options extension header. */
>  	uint32_t has_hop_ext:1;
> -	/**< Header contains Hop-by-Hop Options extension header. */
> +	/** Header contains Routing extension header. */
>  	uint32_t has_route_ext:1;
> -	/**< Header contains Routing extension header. */
> +	/** Header contains Fragment extension header. */
>  	uint32_t has_frag_ext:1;
> -	/**< Header contains Fragment extension header. */
> +	/** Header contains Authentication extension header. */
>  	uint32_t has_auth_ext:1;
> -	/**< Header contains Authentication extension header. */
> +	/** Header contains Encapsulation Security Payload extension header. */
>  	uint32_t has_esp_ext:1;
> -	/**< Header contains Encapsulation Security Payload extension header. */
> +	/** Header contains Destination Options extension header. */
>  	uint32_t has_dest_ext:1;
> -	/**< Header contains Destination Options extension header. */
> +	/** Header contains Mobility extension header. */
>  	uint32_t has_mobil_ext:1;
> -	/**< Header contains Mobility extension header. */
> +	/** Header contains Host Identity Protocol extension header. */
>  	uint32_t has_hip_ext:1;
> -	/**< Header contains Host Identity Protocol extension header. */
> +	/** Header contains Shim6 Protocol extension header. */
>  	uint32_t has_shim6_ext:1;
> -	/**< Header contains Shim6 Protocol extension header. */
> +	/** Reserved for future extension headers, must be zero. */
>  	uint32_t reserved:23;
> -	/**< Reserved for future extension headers, must be zero. */
>  };
> 
>  /** Default mask for RTE_FLOW_ITEM_TYPE_IPV6. */
> @@ -2597,8 +2597,8 @@ struct rte_flow_action_queue {
>  struct rte_flow_action_age {
>  	uint32_t timeout:24; /**< Time in seconds. */
>  	uint32_t reserved:8; /**< Reserved, must be zero. */
> +	/** The user flow context, NULL means the rte_flow pointer. */
>  	void *context;
> -		/**< The user flow context, NULL means the rte_flow pointer. */
>  };
> 
>  /**
> @@ -2610,8 +2610,8 @@ struct rte_flow_action_age {
>  struct rte_flow_query_age {
>  	uint32_t reserved:6; /**< Reserved, must be zero. */
>  	uint32_t aged:1; /**< 1 if aging timeout expired, 0 otherwise. */
> +	/** sec_since_last_hit value is valid. */
>  	uint32_t sec_since_last_hit_valid:1;
> -	/**< sec_since_last_hit value is valid. */
>  	uint32_t sec_since_last_hit:24; /**< Seconds since last traffic hit. */
>  };
> 
> @@ -3242,7 +3242,7 @@ struct rte_flow_action_conntrack {
>  	uint32_t last_direction:1;
>  	/** No TCP check will be done except the state change. */
>  	uint32_t liberal_mode:1;
> -	/**<The current state of this connection. */
> +	/** The current state of this connection. */
>  	enum rte_flow_conntrack_state state;
>  	/** Scaling factor for maximal allowed ACK window. */
>  	uint8_t max_ack_window;
> @@ -3355,9 +3355,9 @@ struct rte_flow_action_modify_data {
>  	RTE_STD_C11
>  	union {
>  		struct {
> -			/**< Encapsulation level or tag index. */
> +			/** Encapsulation level or tag index. */
>  			uint32_t level;
> -			/**< Number of bits to skip from a field. */
> +			/** Number of bits to skip from a field. */
>  			uint32_t offset;
>  		};
>  		/**
> @@ -3468,8 +3468,8 @@ struct rte_flow;
>   */
>  struct rte_flow_action_sample {
>  	uint32_t ratio; /**< packets sampled equals to '1/ratio'. */
> +	/** sub-action list specific for the sampling hit cases. */
>  	const struct rte_flow_action *actions;
> -		/**< sub-action list specific for the sampling hit cases. */
>  };
> 
>  /**
> @@ -4101,10 +4101,10 @@ struct rte_flow_indir_action_conf {
>  	 * Action should be valid at least for one flow direction,
>  	 * otherwise it is invalid for both ingress and egress rules.
>  	 */
> +	/** Action valid for rules applied to ingress traffic. */
>  	uint32_t ingress:1;
> -	/**< Action valid for rules applied to ingress traffic. */
> +	/** Action valid for rules applied to egress traffic. */
>  	uint32_t egress:1;
> -	/**< Action valid for rules applied to egress traffic. */
>  	/**
>  	 * When set to 1, indicates that the action is valid for
>  	 * transfer traffic; otherwise, for non-transfer traffic.
> diff --git a/lib/ethdev/rte_mtr_driver.h b/lib/ethdev/rte_mtr_driver.h
> index 62273ed3a9..ee8c6ef7ad 100644
> --- a/lib/ethdev/rte_mtr_driver.h
> +++ b/lib/ethdev/rte_mtr_driver.h
> @@ -25,91 +25,91 @@
>  extern "C" {
>  #endif
> 
> +/** @internal MTR capabilities get. */
>  typedef int (*rte_mtr_capabilities_get_t)(struct rte_eth_dev *dev,
>  	struct rte_mtr_capabilities *cap,
>  	struct rte_mtr_error *error);
> -/**< @internal MTR capabilities get */
> 
> +/** @internal MTR meter profile add. */
>  typedef int (*rte_mtr_meter_profile_add_t)(struct rte_eth_dev *dev,
>  	uint32_t meter_profile_id,
>  	struct rte_mtr_meter_profile *profile,
>  	struct rte_mtr_error *error);
> -/**< @internal MTR meter profile add */
> 
> +/** @internal MTR meter profile delete. */
>  typedef int (*rte_mtr_meter_profile_delete_t)(struct rte_eth_dev *dev,
>  	uint32_t meter_profile_id,
>  	struct rte_mtr_error *error);
> -/**< @internal MTR meter profile delete */
> 
> +/** @internal MTR meter policy validate. */
>  typedef int (*rte_mtr_meter_policy_validate_t)(struct rte_eth_dev *dev,
>  	struct rte_mtr_meter_policy_params *policy,
>  	struct rte_mtr_error *error);
> -/**< @internal MTR meter policy validate */
> 
> +/** @internal MTR meter policy add. */
>  typedef int (*rte_mtr_meter_policy_add_t)(struct rte_eth_dev *dev,
>  	uint32_t policy_id,
>  	struct rte_mtr_meter_policy_params *policy,
>  	struct rte_mtr_error *error);
> -/**< @internal MTR meter policy add */
> 
> +/** @internal MTR meter policy delete. */
>  typedef int (*rte_mtr_meter_policy_delete_t)(struct rte_eth_dev *dev,
>  	uint32_t policy_id,
>  	struct rte_mtr_error *error);
> -/**< @internal MTR meter policy delete */
> 
> +/** @internal MTR object create. */
>  typedef int (*rte_mtr_create_t)(struct rte_eth_dev *dev,
>  	uint32_t mtr_id,
>  	struct rte_mtr_params *params,
>  	int shared,
>  	struct rte_mtr_error *error);
> -/**< @internal MTR object create */
> 
> +/** @internal MTR object destroy. */
>  typedef int (*rte_mtr_destroy_t)(struct rte_eth_dev *dev,
>  	uint32_t mtr_id,
>  	struct rte_mtr_error *error);
> -/**< @internal MTR object destroy */
> 
> +/** @internal MTR object meter enable. */
>  typedef int (*rte_mtr_meter_enable_t)(struct rte_eth_dev *dev,
>  	uint32_t mtr_id,
>  	struct rte_mtr_error *error);
> -/**< @internal MTR object meter enable */
> 
> +/** @internal MTR object meter disable. */
>  typedef int (*rte_mtr_meter_disable_t)(struct rte_eth_dev *dev,
>  	uint32_t mtr_id,
>  	struct rte_mtr_error *error);
> -/**< @internal MTR object meter disable */
> 
> +/** @internal MTR object meter profile update. */
>  typedef int (*rte_mtr_meter_profile_update_t)(struct rte_eth_dev *dev,
>  	uint32_t mtr_id,
>  	uint32_t meter_profile_id,
>  	struct rte_mtr_error *error);
> -/**< @internal MTR object meter profile update */
> 
> +/** @internal MTR object meter policy update. */
>  typedef int (*rte_mtr_meter_policy_update_t)(struct rte_eth_dev *dev,
>  	uint32_t mtr_id,
>  	uint32_t meter_policy_id,
>  	struct rte_mtr_error *error);
> -/**< @internal MTR object meter policy update */
> 
> +/** @internal MTR object meter DSCP table update. */
>  typedef int (*rte_mtr_meter_dscp_table_update_t)(struct rte_eth_dev *dev,
>  	uint32_t mtr_id,
>  	enum rte_color *dscp_table,
>  	struct rte_mtr_error *error);
> -/**< @internal MTR object meter DSCP table update */
> 
> +/** @internal MTR object enabled stats update. */
>  typedef int (*rte_mtr_stats_update_t)(struct rte_eth_dev *dev,
>  	uint32_t mtr_id,
>  	uint64_t stats_mask,
>  	struct rte_mtr_error *error);
> -/**< @internal MTR object enabled stats update */
> 
> +/** @internal MTR object stats read. */
>  typedef int (*rte_mtr_stats_read_t)(struct rte_eth_dev *dev,
>  	uint32_t mtr_id,
>  	struct rte_mtr_stats *stats,
>  	uint64_t *stats_mask,
>  	int clear,
>  	struct rte_mtr_error *error);
> -/**< @internal MTR object stats read */
> 
>  struct rte_mtr_ops {
>  	/** MTR capabilities get */
> --
> 2.30.2

Acked-by: Ori Kam <orika@nvidia.com>
Best,
Ori
  

Patch

diff --git a/lib/ethdev/ethdev_driver.h b/lib/ethdev/ethdev_driver.h
index 0174ba03d7..8800c9c067 100644
--- a/lib/ethdev/ethdev_driver.h
+++ b/lib/ethdev/ethdev_driver.h
@@ -44,18 +44,17 @@  struct rte_eth_rxtx_callback {
 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;
-	/**< Pointer to PMD transmit prepare function. */
+	/** Get the number of used RX descriptors. */
 	eth_rx_queue_count_t rx_queue_count;
-	/**< Get the number of used RX descriptors. */
+	/** Check the status of a Rx descriptor. */
 	eth_rx_descriptor_status_t rx_descriptor_status;
-	/**< Check the status of a Rx descriptor. */
+	/** Check the status of a Tx descriptor. */
 	eth_tx_descriptor_status_t tx_descriptor_status;
-	/**< Check the status of a Tx descriptor. */
 
 	/**
-	 * points to device data that is shared between
-	 * primary and secondary processes.
+	 * 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. */
@@ -100,64 +99,63 @@  struct rte_eth_dev_data {
 
 	struct rte_eth_dev_sriov sriov;    /**< SRIOV data */
 
+	/** PMD-specific private data. @see rte_eth_dev_release_port(). */
 	void *dev_private;
-			/**< PMD-specific private data.
-			 *   @see rte_eth_dev_release_port()
-			 */
 
 	struct rte_eth_link dev_link;   /**< Link-level information & status. */
 	struct rte_eth_conf dev_conf;   /**< Configuration applied to device. */
 	uint16_t mtu;                   /**< Maximum Transmission Unit. */
+	/** Common RX buffer size handled by all queues. */
 	uint32_t min_rx_buf_size;
-			/**< Common RX buffer size handled by all queues. */
 
 	uint64_t rx_mbuf_alloc_failed; /**< RX ring mbuf allocation failures. */
+	/** Device Ethernet link address. @see rte_eth_dev_release_port(). */
 	struct rte_ether_addr *mac_addrs;
-			/**< Device Ethernet link address.
-			 *   @see rte_eth_dev_release_port()
-			 */
+	/** Bitmap associating MAC addresses to pools. */
 	uint64_t mac_pool_sel[ETH_NUM_RECEIVE_MAC_ADDR];
-			/**< Bitmap associating MAC addresses to pools. */
+	/**
+	 * Device Ethernet MAC addresses of hash filtering.
+	 * @see rte_eth_dev_release_port()
+	 */
 	struct rte_ether_addr *hash_mac_addrs;
-			/**< Device Ethernet MAC addresses of hash filtering.
-			 *   @see rte_eth_dev_release_port()
-			 */
 	uint16_t port_id;           /**< Device [external] port identifier. */
 
 	__extension__
-	uint8_t promiscuous   : 1,
-		/**< RX promiscuous mode ON(1) / OFF(0). */
+	uint8_t /** RX promiscuous mode ON(1) / OFF(0). */
+		promiscuous   : 1,
+		/** RX of scattered packets is ON(1) / OFF(0) */
 		scattered_rx : 1,
-		/**< RX of scattered packets is ON(1) / OFF(0) */
+		/** RX all multicast mode ON(1) / OFF(0). */
 		all_multicast : 1,
-		/**< RX all multicast mode ON(1) / OFF(0). */
+		/** Device state: STARTED(1) / STOPPED(0). */
 		dev_started : 1,
-		/**< Device state: STARTED(1) / STOPPED(0). */
+		/** RX LRO is ON(1) / OFF(0) */
 		lro         : 1,
-		/**< RX LRO is ON(1) / OFF(0) */
-		dev_configured : 1;
-		/**< Indicates whether the device is configured.
-		 *   CONFIGURED(1) / NOT CONFIGURED(0).
+		/**
+		 * Indicates whether the device is configured.
+		 * CONFIGURED(1) / NOT CONFIGURED(0).
 		 */
+		dev_configured : 1;
+	/** Queues state: HAIRPIN(2) / STARTED(1) / STOPPED(0). */
 	uint8_t rx_queue_state[RTE_MAX_QUEUES_PER_PORT];
-		/**< Queues state: HAIRPIN(2) / STARTED(1) / STOPPED(0). */
+	/** Queues state: HAIRPIN(2) / STARTED(1) / STOPPED(0). */
 	uint8_t tx_queue_state[RTE_MAX_QUEUES_PER_PORT];
-		/**< Queues state: HAIRPIN(2) / STARTED(1) / STOPPED(0). */
 	uint32_t dev_flags;             /**< Capabilities. */
 	int numa_node;                  /**< NUMA node connection. */
+	/** VLAN filter configuration. */
 	struct rte_vlan_filter_conf vlan_filter_conf;
-			/**< VLAN filter configuration. */
 	struct rte_eth_dev_owner owner; /**< The port owner. */
+	/**
+	 * Switch-specific identifier.
+	 * Valid if RTE_ETH_DEV_REPRESENTOR in dev_flags.
+	 */
 	uint16_t representor_id;
-			/**< Switch-specific identifier.
-			 *   Valid if RTE_ETH_DEV_REPRESENTOR in dev_flags.
-			 */
+	/**
+	 * Port ID of the backing device.
+	 * This device will be used to query representor info and calculate
+	 * representor IDs. Valid if RTE_ETH_DEV_REPRESENTOR in dev_flags.
+	 */
 	uint16_t backer_port_id;
-			/**< Port ID of the backing device.
-			 *   This device will be used to query representor
-			 *   info and calculate representor IDs.
-			 *   Valid if RTE_ETH_DEV_REPRESENTOR in dev_flags.
-			 */
 
 	pthread_mutex_t flow_ops_mutex; /**< rte_flow ops mutex. */
 	uint64_t reserved_64s[4]; /**< Reserved for future fields */
@@ -171,7 +169,7 @@  struct rte_eth_dev_data {
  */
 extern struct rte_eth_dev rte_eth_devices[];
 
-/**< @internal Declaration of the hairpin peer queue information structure. */
+/** @internal Declaration of the hairpin peer queue information structure. */
 struct rte_hairpin_peer_info;
 
 /*
@@ -180,29 +178,29 @@  struct rte_hairpin_peer_info;
  * structure associated with an Ethernet device.
  */
 
+/** @internal Ethernet device configuration. */
 typedef int  (*eth_dev_configure_t)(struct rte_eth_dev *dev);
-/**< @internal Ethernet device configuration. */
 
+/** @internal Function used to start a configured Ethernet device. */
 typedef int  (*eth_dev_start_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to start a configured Ethernet device. */
 
+/** @internal Function used to stop a configured Ethernet device. */
 typedef int (*eth_dev_stop_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to stop a configured Ethernet device. */
 
+/** @internal Function used to link up a configured Ethernet device. */
 typedef int  (*eth_dev_set_link_up_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to link up a configured Ethernet device. */
 
+/** @internal Function used to link down a configured Ethernet device. */
 typedef int  (*eth_dev_set_link_down_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to link down a configured Ethernet device. */
 
+/** @internal Function used to close a configured Ethernet device. */
 typedef int (*eth_dev_close_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to close a configured Ethernet device. */
 
+/** @internal Function used to reset a configured Ethernet device. */
 typedef int (*eth_dev_reset_t)(struct rte_eth_dev *dev);
-/** <@internal Function used to reset a configured Ethernet device. */
 
+/** @internal Function used to detect an Ethernet device removal. */
 typedef int (*eth_is_removed_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to detect an Ethernet device removal. */
 
 /**
  * @internal
@@ -304,13 +302,16 @@  typedef int (*eth_allmulticast_enable_t)(struct rte_eth_dev *dev);
  */
 typedef int (*eth_allmulticast_disable_t)(struct rte_eth_dev *dev);
 
+/**
+ * @internal
+ * Get link speed, duplex mode and state (up/down) of an Ethernet device.
+ */
 typedef int (*eth_link_update_t)(struct rte_eth_dev *dev,
 				int wait_to_complete);
-/**< @internal Get link speed, duplex mode and state (up/down) of an Ethernet device. */
 
+/** @internal Get global I/O statistics of an Ethernet device. */
 typedef int (*eth_stats_get_t)(struct rte_eth_dev *dev,
 				struct rte_eth_stats *igb_stats);
-/**< @internal Get global I/O statistics of an Ethernet device. */
 
 /**
  * @internal
@@ -333,9 +334,9 @@  typedef int (*eth_stats_get_t)(struct rte_eth_dev *dev,
  */
 typedef int (*eth_stats_reset_t)(struct rte_eth_dev *dev);
 
+/** @internal Get extended stats of an Ethernet device. */
 typedef int (*eth_xstats_get_t)(struct rte_eth_dev *dev,
 	struct rte_eth_xstat *stats, unsigned int n);
-/**< @internal Get extended stats of an Ethernet device. */
 
 /**
  * @internal
@@ -381,9 +382,9 @@  typedef int (*eth_xstats_get_by_id_t)(struct rte_eth_dev *dev,
  */
 typedef int (*eth_xstats_reset_t)(struct rte_eth_dev *dev);
 
+/** @internal Get names of extended stats of an Ethernet device. */
 typedef int (*eth_xstats_get_names_t)(struct rte_eth_dev *dev,
 	struct rte_eth_xstat_name *xstats_names, unsigned int size);
-/**< @internal Get names of extended stats of an Ethernet device. */
 
 /**
  * @internal
@@ -407,18 +408,21 @@  typedef int (*eth_xstats_get_names_by_id_t)(struct rte_eth_dev *dev,
 	const uint64_t *ids, struct rte_eth_xstat_name *xstats_names,
 	unsigned int size);
 
+/**
+ * @internal
+ * Set a queue statistics mapping for a tx/rx queue of an Ethernet device.
+ */
 typedef int (*eth_queue_stats_mapping_set_t)(struct rte_eth_dev *dev,
 					     uint16_t queue_id,
 					     uint8_t stat_idx,
 					     uint8_t is_rx);
-/**< @internal Set a queue statistics mapping for a tx/rx queue of an Ethernet device. */
 
+/** @internal Get specific information of an Ethernet device. */
 typedef int (*eth_dev_infos_get_t)(struct rte_eth_dev *dev,
 				   struct rte_eth_dev_info *dev_info);
-/**< @internal Get specific information of an Ethernet device. */
 
+/** @internal Get supported ptypes of an Ethernet device. */
 typedef const uint32_t *(*eth_dev_supported_ptypes_get_t)(struct rte_eth_dev *dev);
-/**< @internal Get supported ptypes of an Ethernet device. */
 
 /**
  * @internal
@@ -435,47 +439,47 @@  typedef const uint32_t *(*eth_dev_supported_ptypes_get_t)(struct rte_eth_dev *de
 typedef int (*eth_dev_ptypes_set_t)(struct rte_eth_dev *dev,
 				     uint32_t ptype_mask);
 
+/** @internal Start rx and tx of a queue of an Ethernet device. */
 typedef int (*eth_queue_start_t)(struct rte_eth_dev *dev,
 				    uint16_t queue_id);
-/**< @internal Start rx and tx of a queue of an Ethernet device. */
 
+/** @internal Stop rx and tx of a queue of an Ethernet device. */
 typedef int (*eth_queue_stop_t)(struct rte_eth_dev *dev,
 				    uint16_t queue_id);
-/**< @internal Stop rx and tx of a queue of an Ethernet device. */
 
+/** @internal Set up a receive queue of an Ethernet device. */
 typedef int (*eth_rx_queue_setup_t)(struct rte_eth_dev *dev,
 				    uint16_t rx_queue_id,
 				    uint16_t nb_rx_desc,
 				    unsigned int socket_id,
 				    const struct rte_eth_rxconf *rx_conf,
 				    struct rte_mempool *mb_pool);
-/**< @internal Set up a receive queue of an Ethernet device. */
 
+/** @internal Setup a transmit queue of an Ethernet device. */
 typedef int (*eth_tx_queue_setup_t)(struct rte_eth_dev *dev,
 				    uint16_t tx_queue_id,
 				    uint16_t nb_tx_desc,
 				    unsigned int socket_id,
 				    const struct rte_eth_txconf *tx_conf);
-/**< @internal Setup a transmit queue of an Ethernet device. */
 
+/** @internal Enable interrupt of a receive queue of an Ethernet device. */
 typedef int (*eth_rx_enable_intr_t)(struct rte_eth_dev *dev,
 				    uint16_t rx_queue_id);
-/**< @internal Enable interrupt of a receive queue of an Ethernet device. */
 
+/** @internal Disable interrupt of a receive queue of an Ethernet device. */
 typedef int (*eth_rx_disable_intr_t)(struct rte_eth_dev *dev,
 				    uint16_t rx_queue_id);
-/**< @internal Disable interrupt of a receive queue of an Ethernet device. */
 
+/** @internal Release memory resources allocated by given RX/TX queue. */
 typedef void (*eth_queue_release_t)(struct rte_eth_dev *dev,
 				    uint16_t queue_id);
-/**< @internal Release memory resources allocated by given RX/TX queue. */
 
+/** @internal Get firmware information of an Ethernet device. */
 typedef int (*eth_fw_version_get_t)(struct rte_eth_dev *dev,
 				     char *fw_version, size_t fw_size);
-/**< @internal Get firmware information of an Ethernet device. */
 
+/** @internal Force mbufs to be from TX ring. */
 typedef int (*eth_tx_done_cleanup_t)(void *txq, uint32_t free_cnt);
-/**< @internal Force mbufs to be from TX ring. */
 
 typedef void (*eth_rxq_info_get_t)(struct rte_eth_dev *dev,
 	uint16_t rx_queue_id, struct rte_eth_rxq_info *qinfo);
@@ -486,159 +490,159 @@  typedef void (*eth_txq_info_get_t)(struct rte_eth_dev *dev,
 typedef int (*eth_burst_mode_get_t)(struct rte_eth_dev *dev,
 	uint16_t queue_id, struct rte_eth_burst_mode *mode);
 
+/** @internal Set MTU. */
 typedef int (*mtu_set_t)(struct rte_eth_dev *dev, uint16_t mtu);
-/**< @internal Set MTU. */
 
+/** @internal Filtering of a VLAN Tag Identifier by an Ethernet device. */
 typedef int (*vlan_filter_set_t)(struct rte_eth_dev *dev,
 				  uint16_t vlan_id,
 				  int on);
-/**< @internal filtering of a VLAN Tag Identifier by an Ethernet device. */
 
+/** @internal Set the outer/inner VLAN-TPID by an Ethernet device. */
 typedef int (*vlan_tpid_set_t)(struct rte_eth_dev *dev,
 			       enum rte_vlan_type type, uint16_t tpid);
-/**< @internal set the outer/inner VLAN-TPID by an Ethernet device. */
 
+/** @internal Set VLAN offload function by an Ethernet device. */
 typedef int (*vlan_offload_set_t)(struct rte_eth_dev *dev, int mask);
-/**< @internal set VLAN offload function by an Ethernet device. */
 
+/** @internal Set port based TX VLAN insertion by an Ethernet device. */
 typedef int (*vlan_pvid_set_t)(struct rte_eth_dev *dev,
 			       uint16_t vlan_id,
 			       int on);
-/**< @internal set port based TX VLAN insertion by an Ethernet device. */
 
+/** @internal VLAN stripping enable/disable by an queue of Ethernet device. */
 typedef void (*vlan_strip_queue_set_t)(struct rte_eth_dev *dev,
 				  uint16_t rx_queue_id,
 				  int on);
-/**< @internal VLAN stripping enable/disable by an queue of Ethernet device. */
 
+/** @internal Get current flow control parameter on an Ethernet device. */
 typedef int (*flow_ctrl_get_t)(struct rte_eth_dev *dev,
 			       struct rte_eth_fc_conf *fc_conf);
-/**< @internal Get current flow control parameter on an Ethernet device */
 
+/** @internal Setup flow control parameter on an Ethernet device. */
 typedef int (*flow_ctrl_set_t)(struct rte_eth_dev *dev,
 			       struct rte_eth_fc_conf *fc_conf);
-/**< @internal Setup flow control parameter on an Ethernet device */
 
+/** @internal Setup priority flow control parameter on an Ethernet device. */
 typedef int (*priority_flow_ctrl_set_t)(struct rte_eth_dev *dev,
 				struct rte_eth_pfc_conf *pfc_conf);
-/**< @internal Setup priority flow control parameter on an Ethernet device */
 
+/** @internal Update RSS redirection table on an Ethernet device. */
 typedef int (*reta_update_t)(struct rte_eth_dev *dev,
 			     struct rte_eth_rss_reta_entry64 *reta_conf,
 			     uint16_t reta_size);
-/**< @internal Update RSS redirection table on an Ethernet device */
 
+/** @internal Query RSS redirection table on an Ethernet device. */
 typedef int (*reta_query_t)(struct rte_eth_dev *dev,
 			    struct rte_eth_rss_reta_entry64 *reta_conf,
 			    uint16_t reta_size);
-/**< @internal Query RSS redirection table on an Ethernet device */
 
+/** @internal Update RSS hash configuration of an Ethernet device. */
 typedef int (*rss_hash_update_t)(struct rte_eth_dev *dev,
 				 struct rte_eth_rss_conf *rss_conf);
-/**< @internal Update RSS hash configuration of an Ethernet device */
 
+/** @internal Get current RSS hash configuration of an Ethernet device. */
 typedef int (*rss_hash_conf_get_t)(struct rte_eth_dev *dev,
 				   struct rte_eth_rss_conf *rss_conf);
-/**< @internal Get current RSS hash configuration of an Ethernet device */
 
+/** @internal Turn on SW controllable LED on an Ethernet device. */
 typedef int (*eth_dev_led_on_t)(struct rte_eth_dev *dev);
-/**< @internal Turn on SW controllable LED on an Ethernet device */
 
+/** @internal Turn off SW controllable LED on an Ethernet device. */
 typedef int (*eth_dev_led_off_t)(struct rte_eth_dev *dev);
-/**< @internal Turn off SW controllable LED on an Ethernet device */
 
+/** @internal Remove MAC address from receive address register. */
 typedef void (*eth_mac_addr_remove_t)(struct rte_eth_dev *dev, uint32_t index);
-/**< @internal Remove MAC address from receive address register */
 
+/** @internal Set a MAC address into Receive Address Register. */
 typedef int (*eth_mac_addr_add_t)(struct rte_eth_dev *dev,
 				  struct rte_ether_addr *mac_addr,
 				  uint32_t index,
 				  uint32_t vmdq);
-/**< @internal Set a MAC address into Receive Address Register */
 
+/** @internal Set a MAC address into Receive Address Register. */
 typedef int (*eth_mac_addr_set_t)(struct rte_eth_dev *dev,
 				  struct rte_ether_addr *mac_addr);
-/**< @internal Set a MAC address into Receive Address Register */
 
+/** @internal Set a Unicast Hash bitmap. */
 typedef int (*eth_uc_hash_table_set_t)(struct rte_eth_dev *dev,
 				  struct rte_ether_addr *mac_addr,
 				  uint8_t on);
-/**< @internal Set a Unicast Hash bitmap */
 
+/** @internal Set all Unicast Hash bitmap. */
 typedef int (*eth_uc_all_hash_table_set_t)(struct rte_eth_dev *dev,
 				  uint8_t on);
-/**< @internal Set all Unicast Hash bitmap */
 
+/** @internal Set queue TX rate. */
 typedef int (*eth_set_queue_rate_limit_t)(struct rte_eth_dev *dev,
 				uint16_t queue_idx,
 				uint16_t tx_rate);
-/**< @internal Set queue TX rate */
 
+/** @internal Add tunneling UDP port. */
 typedef int (*eth_udp_tunnel_port_add_t)(struct rte_eth_dev *dev,
 					 struct rte_eth_udp_tunnel *tunnel_udp);
-/**< @internal Add tunneling UDP port */
 
+/** @internal Delete tunneling UDP port. */
 typedef int (*eth_udp_tunnel_port_del_t)(struct rte_eth_dev *dev,
 					 struct rte_eth_udp_tunnel *tunnel_udp);
-/**< @internal Delete tunneling UDP port */
 
+/** @internal set the list of multicast addresses on an Ethernet device. */
 typedef int (*eth_set_mc_addr_list_t)(struct rte_eth_dev *dev,
 				      struct rte_ether_addr *mc_addr_set,
 				      uint32_t nb_mc_addr);
-/**< @internal set the list of multicast addresses on an Ethernet device */
 
+/** @internal Function used to enable IEEE1588/802.1AS timestamping. */
 typedef int (*eth_timesync_enable_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to enable IEEE1588/802.1AS timestamping. */
 
+/** @internal Function used to disable IEEE1588/802.1AS timestamping. */
 typedef int (*eth_timesync_disable_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to disable IEEE1588/802.1AS timestamping. */
 
+/** @internal Function used to read an RX IEEE1588/802.1AS timestamp. */
 typedef int (*eth_timesync_read_rx_timestamp_t)(struct rte_eth_dev *dev,
 						struct timespec *timestamp,
 						uint32_t flags);
-/**< @internal Function used to read an RX IEEE1588/802.1AS timestamp. */
 
+/** @internal Function used to read a TX IEEE1588/802.1AS timestamp. */
 typedef int (*eth_timesync_read_tx_timestamp_t)(struct rte_eth_dev *dev,
 						struct timespec *timestamp);
-/**< @internal Function used to read a TX IEEE1588/802.1AS timestamp. */
 
+/** @internal Function used to adjust the device clock. */
 typedef int (*eth_timesync_adjust_time)(struct rte_eth_dev *dev, int64_t);
-/**< @internal Function used to adjust the device clock */
 
+/** @internal Function used to get time from the device clock. */
 typedef int (*eth_timesync_read_time)(struct rte_eth_dev *dev,
 				      struct timespec *timestamp);
-/**< @internal Function used to get time from the device clock. */
 
+/** @internal Function used to get time from the device clock. */
 typedef int (*eth_timesync_write_time)(struct rte_eth_dev *dev,
 				       const struct timespec *timestamp);
-/**< @internal Function used to get time from the device clock */
 
+/** @internal Function used to get the current value of the device clock. */
 typedef int (*eth_read_clock)(struct rte_eth_dev *dev,
 				      uint64_t *timestamp);
-/**< @internal Function used to get the current value of the device clock. */
 
+/** @internal Retrieve registers. */
 typedef int (*eth_get_reg_t)(struct rte_eth_dev *dev,
 				struct rte_dev_reg_info *info);
-/**< @internal Retrieve registers  */
 
+/** @internal Retrieve eeprom size. */
 typedef int (*eth_get_eeprom_length_t)(struct rte_eth_dev *dev);
-/**< @internal Retrieve eeprom size  */
 
+/** @internal Retrieve eeprom data. */
 typedef int (*eth_get_eeprom_t)(struct rte_eth_dev *dev,
 				struct rte_dev_eeprom_info *info);
-/**< @internal Retrieve eeprom data  */
 
+/** @internal Program eeprom data. */
 typedef int (*eth_set_eeprom_t)(struct rte_eth_dev *dev,
 				struct rte_dev_eeprom_info *info);
-/**< @internal Program eeprom data  */
 
+/** @internal Retrieve type and size of plugin module eeprom. */
 typedef int (*eth_get_module_info_t)(struct rte_eth_dev *dev,
 				     struct rte_eth_dev_module_info *modinfo);
-/**< @internal Retrieve type and size of plugin module eeprom */
 
+/** @internal Retrieve plugin module eeprom data. */
 typedef int (*eth_get_module_eeprom_t)(struct rte_eth_dev *dev,
 				       struct rte_dev_eeprom_info *info);
-/**< @internal Retrieve plugin module eeprom data */
 
 struct rte_flow_ops;
 /**
@@ -651,19 +655,19 @@  struct rte_flow_ops;
 typedef int (*eth_flow_ops_get_t)(struct rte_eth_dev *dev,
 				  const struct rte_flow_ops **ops);
 
+/** @internal Get Traffic Management (TM) operations on an Ethernet device. */
 typedef int (*eth_tm_ops_get_t)(struct rte_eth_dev *dev, void *ops);
-/**< @internal Get Traffic Management (TM) operations on an Ethernet device */
 
+/** @internal Get Traffic Metering and Policing (MTR) operations. */
 typedef int (*eth_mtr_ops_get_t)(struct rte_eth_dev *dev, void *ops);
-/**< @internal Get Traffic Metering and Policing (MTR) operations */
 
+/** @internal Get dcb information on an Ethernet device. */
 typedef int (*eth_get_dcb_info)(struct rte_eth_dev *dev,
 				 struct rte_eth_dcb_info *dcb_info);
-/**< @internal Get dcb information on an Ethernet device */
 
+/** @internal Test if a port supports specific mempool ops. */
 typedef int (*eth_pool_ops_supported_t)(struct rte_eth_dev *dev,
 						const char *pool);
-/**< @internal Test if a port supports specific mempool ops */
 
 /**
  * @internal
@@ -905,20 +909,20 @@  typedef int (*eth_hairpin_bind_t)(struct rte_eth_dev *dev,
 typedef int (*eth_hairpin_unbind_t)(struct rte_eth_dev *dev,
 				  uint16_t rx_port);
 
+/** @internal Update and fetch peer queue information. */
 typedef int (*eth_hairpin_queue_peer_update_t)
 	(struct rte_eth_dev *dev, uint16_t peer_queue,
 	 struct rte_hairpin_peer_info *current_info,
 	 struct rte_hairpin_peer_info *peer_info, uint32_t direction);
-/**< @internal Update and fetch peer queue information. */
 
+/** @internal Bind peer queue to the current queue with fetched information. */
 typedef int (*eth_hairpin_queue_peer_bind_t)
 	(struct rte_eth_dev *dev, uint16_t cur_queue,
 	 struct rte_hairpin_peer_info *peer_info, uint32_t direction);
-/**< @internal Bind peer queue to the current queue with fetched information. */
 
+/** @internal Unbind peer queue from the current queue. */
 typedef int (*eth_hairpin_queue_peer_unbind_t)
 	(struct rte_eth_dev *dev, uint16_t cur_queue, uint32_t direction);
-/**< @internal Unbind peer queue from the current queue. */
 
 /**
  * @internal
@@ -992,8 +996,8 @@  struct eth_dev_ops {
 	eth_dev_close_t            dev_close;     /**< Close device. */
 	eth_dev_reset_t		   dev_reset;	  /**< Reset device. */
 	eth_link_update_t          link_update;   /**< Get device link state. */
+	/** Check if the device was physically removed. */
 	eth_is_removed_t           is_removed;
-	/**< Check if the device was physically removed. */
 
 	eth_promiscuous_enable_t   promiscuous_enable; /**< Promiscuous ON. */
 	eth_promiscuous_disable_t  promiscuous_disable;/**< Promiscuous OFF. */
@@ -1009,10 +1013,10 @@  struct eth_dev_ops {
 	eth_stats_reset_t          stats_reset;   /**< Reset generic device statistics. */
 	eth_xstats_get_t           xstats_get;    /**< Get extended device statistics. */
 	eth_xstats_reset_t         xstats_reset;  /**< Reset extended device statistics. */
+	/** Get names of extended statistics. */
 	eth_xstats_get_names_t     xstats_get_names;
-	/**< Get names of extended statistics. */
+	/** Configure per queue stat counter mapping. */
 	eth_queue_stats_mapping_set_t queue_stats_mapping_set;
-	/**< Configure per queue stat counter mapping. */
 
 	eth_dev_infos_get_t        dev_infos_get; /**< Get device info. */
 	eth_rxq_info_get_t         rxq_info_get; /**< retrieve RX queue information. */
@@ -1020,10 +1024,13 @@  struct eth_dev_ops {
 	eth_burst_mode_get_t       rx_burst_mode_get; /**< Get RX burst mode */
 	eth_burst_mode_get_t       tx_burst_mode_get; /**< Get TX burst mode */
 	eth_fw_version_get_t       fw_version_get; /**< Get firmware version. */
+	/** Get packet types supported and identified by device. */
 	eth_dev_supported_ptypes_get_t dev_supported_ptypes_get;
-	/**< Get packet types supported and identified by device. */
+	/**
+	 * Inform Ethernet device about reduced range of packet types to
+	 * handle.
+	 */
 	eth_dev_ptypes_set_t dev_ptypes_set;
-	/**< Inform Ethernet device about reduced range of packet types to handle. */
 
 	vlan_filter_set_t          vlan_filter_set; /**< Filter VLAN Setup. */
 	vlan_tpid_set_t            vlan_tpid_set; /**< Outer/Inner VLAN TPID Setup. */
@@ -1092,51 +1099,52 @@  struct eth_dev_ops {
 
 	eth_read_clock             read_clock;
 
+	/** Get extended device statistic values by ID. */
 	eth_xstats_get_by_id_t     xstats_get_by_id;
-	/**< Get extended device statistic values by ID. */
+	/** Get name of extended device statistics by ID. */
 	eth_xstats_get_names_by_id_t xstats_get_names_by_id;
-	/**< Get name of extended device statistics by ID. */
 
+	/** Get Traffic Management (TM) operations. */
 	eth_tm_ops_get_t tm_ops_get;
-	/**< Get Traffic Management (TM) operations. */
 
+	/** Get Traffic Metering and Policing (MTR) operations. */
 	eth_mtr_ops_get_t mtr_ops_get;
-	/**< Get Traffic Metering and Policing (MTR) operations. */
 
+	/** Test if a port supports specific mempool ops */
 	eth_pool_ops_supported_t pool_ops_supported;
-	/**< Test if a port supports specific mempool ops */
 
+	/** Returns the hairpin capabilities. */
 	eth_hairpin_cap_get_t hairpin_cap_get;
-	/**< Returns the hairpin capabilities. */
+	/** Set up device RX hairpin queue. */
 	eth_rx_hairpin_queue_setup_t rx_hairpin_queue_setup;
-	/**< Set up device RX hairpin queue. */
+	/** Set up device TX hairpin queue. */
 	eth_tx_hairpin_queue_setup_t tx_hairpin_queue_setup;
-	/**< Set up device TX hairpin queue. */
 
+	/** Get Forward Error Correction(FEC) capability. */
 	eth_fec_get_capability_t fec_get_capability;
-	/**< Get Forward Error Correction(FEC) capability. */
+	/** Get Forward Error Correction(FEC) mode. */
 	eth_fec_get_t fec_get;
-	/**< Get Forward Error Correction(FEC) mode. */
+	/** Set Forward Error Correction(FEC) mode. */
 	eth_fec_set_t fec_set;
-	/**< Set Forward Error Correction(FEC) mode. */
+
+	/** Get hairpin peer ports list. */
 	hairpin_get_peer_ports_t hairpin_get_peer_ports;
-	/**< Get hairpin peer ports list. */
+	/** Bind all hairpin Tx queues of device to the peer port Rx queues. */
 	eth_hairpin_bind_t hairpin_bind;
-	/**< Bind all hairpin Tx queues of device to the peer port Rx queues. */
+	/** Unbind all hairpin Tx queues from the peer port Rx queues. */
 	eth_hairpin_unbind_t hairpin_unbind;
-	/**< Unbind all hairpin Tx queues from the peer port Rx queues. */
+	/** Pass the current queue info and get the peer queue info. */
 	eth_hairpin_queue_peer_update_t hairpin_queue_peer_update;
-	/**< Pass the current queue info and get the peer queue info. */
+	/** Set up the connection between the pair of hairpin queues. */
 	eth_hairpin_queue_peer_bind_t hairpin_queue_peer_bind;
-	/**< Set up the connection between the pair of hairpin queues. */
+	/** Disconnect the hairpin queues of a pair from each other. */
 	eth_hairpin_queue_peer_unbind_t hairpin_queue_peer_unbind;
-	/**< Disconnect the hairpin queues of a pair from each other. */
 
+	/** Get power monitoring condition for Rx queue. */
 	eth_get_monitor_addr_t get_monitor_addr;
-	/**< Get power monitoring condition for Rx queue. */
 
+	/** Get representor info. */
 	eth_representor_info_get_t representor_info_get;
-	/**< Get representor info. */
 
 	/**
 	 * Negotiate the NIC's ability to deliver specific
diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h
index 69766eaae2..2d43c226f6 100644
--- a/lib/ethdev/rte_ethdev.h
+++ b/lib/ethdev/rte_ethdev.h
@@ -256,24 +256,25 @@  struct rte_eth_stats {
 	uint64_t opackets;  /**< Total number of successfully transmitted packets.*/
 	uint64_t ibytes;    /**< Total number of successfully received bytes. */
 	uint64_t obytes;    /**< Total number of successfully transmitted bytes. */
-	uint64_t imissed;
-	/**< Total of RX packets dropped by the HW,
+	/**
+	 * Total of RX packets dropped by the HW,
 	 * because there are no available buffer (i.e. RX queues are full).
 	 */
+	uint64_t imissed;
 	uint64_t ierrors;   /**< Total number of erroneous received packets. */
 	uint64_t oerrors;   /**< Total number of failed transmitted packets. */
 	uint64_t rx_nombuf; /**< Total number of RX mbuf allocation failures. */
 	/* Queue stats are limited to max 256 queues */
+	/** Total number of queue RX packets. */
 	uint64_t q_ipackets[RTE_ETHDEV_QUEUE_STAT_CNTRS];
-	/**< Total number of queue RX packets. */
+	/** Total number of queue TX packets. */
 	uint64_t q_opackets[RTE_ETHDEV_QUEUE_STAT_CNTRS];
-	/**< Total number of queue TX packets. */
+	/** Total number of successfully received queue bytes. */
 	uint64_t q_ibytes[RTE_ETHDEV_QUEUE_STAT_CNTRS];
-	/**< Total number of successfully received queue bytes. */
+	/** Total number of successfully transmitted queue bytes. */
 	uint64_t q_obytes[RTE_ETHDEV_QUEUE_STAT_CNTRS];
-	/**< Total number of successfully transmitted queue bytes. */
+	/** Total number of queue packets received that are dropped. */
 	uint64_t q_errors[RTE_ETHDEV_QUEUE_STAT_CNTRS];
-	/**< Total number of queue packets received that are dropped. */
 };
 
 /**@{@name Link speed capabilities
@@ -499,8 +500,8 @@  struct rte_eth_rss_conf {
 #define RTE_ETH_FLOW_IPV6_EX            15
 #define RTE_ETH_FLOW_IPV6_TCP_EX        16
 #define RTE_ETH_FLOW_IPV6_UDP_EX        17
+/** Consider device port number as a flow differentiator */
 #define RTE_ETH_FLOW_PORT               18
-	/**< Consider device port number as a flow differentiator */
 #define RTE_ETH_FLOW_VXLAN              19 /**< VXLAN protocol based flow */
 #define RTE_ETH_FLOW_GENEVE             20 /**< GENEVE protocol based flow */
 #define RTE_ETH_FLOW_NVGRE              21 /**< NVGRE protocol based flow */
@@ -768,7 +769,7 @@  rte_eth_rss_hf_refine(uint64_t rss_hf)
 	ETH_RSS_S_VLAN  | \
 	ETH_RSS_C_VLAN)
 
-/**< Mask of valid RSS hash protocols */
+/** Mask of valid RSS hash protocols */
 #define ETH_RSS_PROTO_MASK ( \
 	ETH_RSS_IPV4 | \
 	ETH_RSS_FRAG_IPV4 | \
@@ -851,10 +852,10 @@  rte_eth_rss_hf_refine(uint64_t rss_hf)
  * is needed.
  */
 struct rte_eth_rss_reta_entry64 {
+	/** Mask bits indicate which entries need to be updated/queried. */
 	uint64_t mask;
-	/**< Mask bits indicate which entries need to be updated/queried. */
+	/** Group of 64 redirection table entries. */
 	uint16_t reta[RTE_RETA_GROUP_SIZE];
-	/**< Group of 64 redirection table entries. */
 };
 
 /**
@@ -920,8 +921,8 @@  struct rte_eth_vmdq_dcb_conf {
 		uint16_t vlan_id; /**< The vlan id of the received frame */
 		uint64_t pools;   /**< Bitmask of pools for packet rx */
 	} pool_map[ETH_VMDQ_MAX_VLAN_FILTERS]; /**< VMDq vlan pool maps. */
+	/** Selects a queue in a pool */
 	uint8_t dcb_tc[ETH_DCB_NUM_USER_PRIORITIES];
-	/**< Selects a queue in a pool */
 };
 
 /**
@@ -969,12 +970,12 @@  struct rte_eth_txmode {
 
 	uint16_t pvid;
 	__extension__
-	uint8_t hw_vlan_reject_tagged : 1,
-		/**< If set, reject sending out tagged pkts */
+	uint8_t /** If set, reject sending out tagged pkts */
+		hw_vlan_reject_tagged : 1,
+		/** If set, reject sending out untagged pkts */
 		hw_vlan_reject_untagged : 1,
-		/**< If set, reject sending out untagged pkts */
+		/** If set, enable port based VLAN insertion */
 		hw_vlan_insert_pvid : 1;
-		/**< If set, enable port based VLAN insertion */
 
 	uint64_t reserved_64s[2]; /**< Reserved for future fields */
 	void *reserved_ptrs[2];   /**< Reserved for future fields */
@@ -1268,8 +1269,8 @@  struct rte_fdir_conf {
 	/** RX queue of packets matching a "drop" filter in perfect mode. */
 	uint8_t drop_queue;
 	struct rte_eth_fdir_masks mask;
+	/** Flex payload configuration. */
 	struct rte_eth_fdir_flex_conf flex_conf;
-	/**< Flex payload configuration. */
 };
 
 /**
@@ -1320,20 +1321,20 @@  struct rte_eth_conf {
 				 are defined in implementation of each driver. */
 	struct {
 		struct rte_eth_rss_conf rss_conf; /**< Port RSS configuration */
+		/** Port vmdq+dcb configuration. */
 		struct rte_eth_vmdq_dcb_conf vmdq_dcb_conf;
-		/**< Port vmdq+dcb configuration. */
+		/** Port dcb RX configuration. */
 		struct rte_eth_dcb_rx_conf dcb_rx_conf;
-		/**< Port dcb RX configuration. */
+		/** Port vmdq RX configuration. */
 		struct rte_eth_vmdq_rx_conf vmdq_rx_conf;
-		/**< Port vmdq RX configuration. */
 	} rx_adv_conf; /**< Port RX filtering configuration. */
 	union {
+		/** Port vmdq+dcb TX configuration. */
 		struct rte_eth_vmdq_dcb_tx_conf vmdq_dcb_tx_conf;
-		/**< Port vmdq+dcb TX configuration. */
+		/** Port dcb TX configuration. */
 		struct rte_eth_dcb_tx_conf dcb_tx_conf;
-		/**< Port dcb TX configuration. */
+		/** Port vmdq TX configuration. */
 		struct rte_eth_vmdq_tx_conf vmdq_tx_conf;
-		/**< Port vmdq TX configuration. */
 	} tx_adv_conf; /**< Port TX DCB configuration (union). */
 	/** Currently,Priority Flow Control(PFC) are supported,if DCB with PFC
 	    is needed,and the variable must be set ETH_DCB_PFC_SUPPORT. */
@@ -1400,17 +1401,19 @@  struct rte_eth_conf {
 #define DEV_TX_OFFLOAD_IPIP_TNL_TSO     0x00000800    /**< Used for tunneling packet. */
 #define DEV_TX_OFFLOAD_GENEVE_TNL_TSO   0x00001000    /**< Used for tunneling packet. */
 #define DEV_TX_OFFLOAD_MACSEC_INSERT    0x00002000
-#define DEV_TX_OFFLOAD_MT_LOCKFREE      0x00004000
-/**< Multiple threads can invoke rte_eth_tx_burst() concurrently on the same
+/**
+ * Multiple threads can invoke rte_eth_tx_burst() concurrently on the same
  * tx queue without SW lock.
  */
+#define DEV_TX_OFFLOAD_MT_LOCKFREE      0x00004000
+/** Device supports multi segment send. */
 #define DEV_TX_OFFLOAD_MULTI_SEGS	0x00008000
-/**< Device supports multi segment send. */
-#define DEV_TX_OFFLOAD_MBUF_FAST_FREE	0x00010000
-/**< Device supports optimization for fast release of mbufs.
- *   When set application must guarantee that per-queue all mbufs comes from
- *   the same mempool and has refcnt = 1.
+/**
+ * Device supports optimization for fast release of mbufs.
+ * When set application must guarantee that per-queue all mbufs comes from
+ * the same mempool and has refcnt = 1.
  */
+#define DEV_TX_OFFLOAD_MBUF_FAST_FREE	0x00010000
 #define DEV_TX_OFFLOAD_SECURITY         0x00020000
 /**
  * Device supports generic UDP tunneled packet TSO.
@@ -1479,14 +1482,14 @@  struct rte_eth_dev_portconf {
 struct rte_eth_switch_info {
 	const char *name;	/**< switch name */
 	uint16_t domain_id;	/**< switch domain id */
-	uint16_t port_id;
-	/**<
-	 * mapping to the devices physical switch port as enumerated from the
+	/**
+	 * Mapping to the devices physical switch port as enumerated from the
 	 * perspective of the embedded interconnect/switch. For SR-IOV enabled
 	 * device this may correspond to the VF_ID of each virtual function,
 	 * but each driver should explicitly define the mapping of switch
 	 * port identifier to that physical interconnect/switch
 	 */
+	uint16_t port_id;
 };
 
 /**
@@ -1543,16 +1546,16 @@  struct rte_eth_dev_info {
 	uint16_t max_vfs; /**< Maximum number of VFs. */
 	uint16_t max_vmdq_pools; /**< Maximum number of VMDq pools. */
 	struct rte_eth_rxseg_capa rx_seg_capa; /**< Segmentation capability.*/
+	/** All RX offload capabilities including all per-queue ones */
 	uint64_t rx_offload_capa;
-	/**< All RX offload capabilities including all per-queue ones */
+	/** All TX offload capabilities including all per-queue ones */
 	uint64_t tx_offload_capa;
-	/**< All TX offload capabilities including all per-queue ones */
+	/** Device per-queue RX offload capabilities. */
 	uint64_t rx_queue_offload_capa;
-	/**< Device per-queue RX offload capabilities. */
+	/** Device per-queue TX offload capabilities. */
 	uint64_t tx_queue_offload_capa;
-	/**< Device per-queue TX offload capabilities. */
+	/** Device redirection table size, the total number of entries. */
 	uint16_t reta_size;
-	/**< Device redirection table size, the total number of entries. */
 	uint8_t hash_key_size; /**< Hash key size in bytes */
 	/** Bit mask of RSS offloads, the bit offset also means flow type */
 	uint64_t flow_type_rss_offloads;
@@ -1740,13 +1743,13 @@  struct rte_eth_fec_capa {
 } while (0)
 
 /**@{@name L2 tunnel configuration */
-/**< l2 tunnel enable mask */
+/** L2 tunnel enable mask */
 #define ETH_L2_TUNNEL_ENABLE_MASK       0x00000001
-/**< l2 tunnel insertion mask */
+/** L2 tunnel insertion mask */
 #define ETH_L2_TUNNEL_INSERTION_MASK    0x00000002
-/**< l2 tunnel stripping mask */
+/** L2 tunnel stripping mask */
 #define ETH_L2_TUNNEL_STRIPPING_MASK    0x00000004
-/**< l2 tunnel forwarding mask */
+/** L2 tunnel forwarding mask */
 #define ETH_L2_TUNNEL_FORWARDING_MASK   0x00000008
 /**@}*/
 
@@ -3347,8 +3350,8 @@  struct rte_eth_dev_tx_buffer {
 	void *error_userdata;
 	uint16_t size;           /**< Size of buffer for buffered tx */
 	uint16_t length;         /**< Number of packets in the array */
+	/** Pending packets to be sent on explicit flush or when full */
 	struct rte_mbuf *pkts[];
-	/**< Pending packets to be sent on explicit flush or when full */
 };
 
 /**
@@ -3487,16 +3490,16 @@  rte_eth_tx_done_cleanup(uint16_t port_id, uint16_t queue_id, uint32_t free_cnt);
  * eth device.
  */
 enum rte_eth_event_ipsec_subtype {
+	/** Unknown event type */
 	RTE_ETH_EVENT_IPSEC_UNKNOWN = 0,
-			/**< Unknown event type */
+	/** Sequence number overflow */
 	RTE_ETH_EVENT_IPSEC_ESN_OVERFLOW,
-			/**< Sequence number overflow */
+	/** Soft time expiry of SA */
 	RTE_ETH_EVENT_IPSEC_SA_TIME_EXPIRY,
-			/**< Soft time expiry of SA */
+	/** Soft byte expiry of SA */
 	RTE_ETH_EVENT_IPSEC_SA_BYTE_EXPIRY,
-			/**< Soft byte expiry of SA */
+	/** Max value of this enum */
 	RTE_ETH_EVENT_IPSEC_MAX
-			/**< Max value of this enum */
 };
 
 /**
@@ -3504,22 +3507,23 @@  enum rte_eth_event_ipsec_subtype {
  * information of the IPsec offload event.
  */
 struct rte_eth_event_ipsec_desc {
+	/** Type of RTE_ETH_EVENT_IPSEC_* event */
 	enum rte_eth_event_ipsec_subtype subtype;
-			/**< Type of RTE_ETH_EVENT_IPSEC_* event */
+	/**
+	 * Event specific metadata.
+	 *
+	 * For the following events, *userdata* registered
+	 * with the *rte_security_session* would be returned
+	 * as metadata,
+	 *
+	 * - @ref RTE_ETH_EVENT_IPSEC_ESN_OVERFLOW
+	 * - @ref RTE_ETH_EVENT_IPSEC_SA_TIME_EXPIRY
+	 * - @ref RTE_ETH_EVENT_IPSEC_SA_BYTE_EXPIRY
+	 *
+	 * @see struct rte_security_session_conf
+	 *
+	 */
 	uint64_t metadata;
-			/**< Event specific metadata
-			 *
-			 * For the following events, *userdata* registered
-			 * with the *rte_security_session* would be returned
-			 * as metadata,
-			 *
-			 * - @ref RTE_ETH_EVENT_IPSEC_ESN_OVERFLOW
-			 * - @ref RTE_ETH_EVENT_IPSEC_SA_TIME_EXPIRY
-			 * - @ref RTE_ETH_EVENT_IPSEC_SA_BYTE_EXPIRY
-			 *
-			 * @see struct rte_security_session_conf
-			 *
-			 */
 };
 
 /**
@@ -3528,10 +3532,10 @@  struct rte_eth_event_ipsec_desc {
 enum rte_eth_event_type {
 	RTE_ETH_EVENT_UNKNOWN,  /**< unknown event type */
 	RTE_ETH_EVENT_INTR_LSC, /**< lsc interrupt event */
+	/** queue state event (enabled/disabled) */
 	RTE_ETH_EVENT_QUEUE_STATE,
-				/**< queue state event (enabled/disabled) */
+	/** reset interrupt event, sent to VF on PF reset */
 	RTE_ETH_EVENT_INTR_RESET,
-			/**< reset interrupt event, sent to VF on PF reset */
 	RTE_ETH_EVENT_VF_MBOX,  /**< message from the VF received by PF */
 	RTE_ETH_EVENT_MACSEC,   /**< MACsec offload related event */
 	RTE_ETH_EVENT_INTR_RMV, /**< device removal event */
@@ -3542,9 +3546,9 @@  enum rte_eth_event_type {
 	RTE_ETH_EVENT_MAX       /**< max value of this enum */
 };
 
+/** User application callback to be registered for interrupts. */
 typedef int (*rte_eth_dev_cb_fn)(uint16_t port_id,
 		enum rte_eth_event_type event, void *cb_arg, void *ret_param);
-/**< user application callback to be registered for interrupts */
 
 /**
  * Register a callback function for port event.
diff --git a/lib/ethdev/rte_ethdev_core.h b/lib/ethdev/rte_ethdev_core.h
index 2b8660c578..18d725fca1 100644
--- a/lib/ethdev/rte_ethdev_core.h
+++ b/lib/ethdev/rte_ethdev_core.h
@@ -25,30 +25,36 @@  RTE_TAILQ_HEAD(rte_eth_dev_cb_list, rte_eth_dev_callback);
 
 struct rte_eth_dev;
 
+/**
+ * @internal Retrieve input packets from a receive queue of an Ethernet device.
+ */
 typedef uint16_t (*eth_rx_burst_t)(void *rxq,
 				   struct rte_mbuf **rx_pkts,
 				   uint16_t nb_pkts);
-/**< @internal Retrieve input packets from a receive queue of an Ethernet device. */
 
+/**
+ * @internal Send output packets on a transmit queue of an Ethernet device.
+ */
 typedef uint16_t (*eth_tx_burst_t)(void *txq,
 				   struct rte_mbuf **tx_pkts,
 				   uint16_t nb_pkts);
-/**< @internal Send output packets on a transmit queue of an Ethernet device. */
 
+/**
+ * @internal Prepare output packets on a transmit queue of an Ethernet device.
+ */
 typedef uint16_t (*eth_tx_prep_t)(void *txq,
 				   struct rte_mbuf **tx_pkts,
 				   uint16_t nb_pkts);
-/**< @internal Prepare output packets on a transmit queue of an Ethernet device. */
 
 
+/** @internal Get number of used descriptors on a receive queue. */
 typedef uint32_t (*eth_rx_queue_count_t)(void *rxq);
-/**< @internal Get number of used descriptors on a receive queue. */
 
+/** @internal Check the status of a Rx descriptor */
 typedef int (*eth_rx_descriptor_status_t)(void *rxq, uint16_t offset);
-/**< @internal Check the status of a Rx descriptor */
 
+/** @internal Check the status of a Tx descriptor */
 typedef int (*eth_tx_descriptor_status_t)(void *txq, uint16_t offset);
-/**< @internal Check the status of a Tx descriptor */
 
 /**
  * @internal
diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h
index d5bfdaaaf2..45b360d4ac 100644
--- a/lib/ethdev/rte_flow.h
+++ b/lib/ethdev/rte_flow.h
@@ -892,8 +892,8 @@  struct rte_flow_item_vlan {
 		};
 		struct rte_vlan_hdr hdr;
 	};
+	/** Packet header contains at least one more VLAN, after this VLAN. */
 	uint32_t has_more_vlan:1;
-	/**< Packet header contains at least one more VLAN, after this VLAN. */
 	uint32_t reserved:31; /**< Reserved, must be zero. */
 };
 
@@ -935,26 +935,26 @@  static const struct rte_flow_item_ipv4 rte_flow_item_ipv4_mask = {
  */
 struct rte_flow_item_ipv6 {
 	struct rte_ipv6_hdr hdr; /**< IPv6 header definition. */
+	/** Header contains Hop-by-Hop Options extension header. */
 	uint32_t has_hop_ext:1;
-	/**< Header contains Hop-by-Hop Options extension header. */
+	/** Header contains Routing extension header. */
 	uint32_t has_route_ext:1;
-	/**< Header contains Routing extension header. */
+	/** Header contains Fragment extension header. */
 	uint32_t has_frag_ext:1;
-	/**< Header contains Fragment extension header. */
+	/** Header contains Authentication extension header. */
 	uint32_t has_auth_ext:1;
-	/**< Header contains Authentication extension header. */
+	/** Header contains Encapsulation Security Payload extension header. */
 	uint32_t has_esp_ext:1;
-	/**< Header contains Encapsulation Security Payload extension header. */
+	/** Header contains Destination Options extension header. */
 	uint32_t has_dest_ext:1;
-	/**< Header contains Destination Options extension header. */
+	/** Header contains Mobility extension header. */
 	uint32_t has_mobil_ext:1;
-	/**< Header contains Mobility extension header. */
+	/** Header contains Host Identity Protocol extension header. */
 	uint32_t has_hip_ext:1;
-	/**< Header contains Host Identity Protocol extension header. */
+	/** Header contains Shim6 Protocol extension header. */
 	uint32_t has_shim6_ext:1;
-	/**< Header contains Shim6 Protocol extension header. */
+	/** Reserved for future extension headers, must be zero. */
 	uint32_t reserved:23;
-	/**< Reserved for future extension headers, must be zero. */
 };
 
 /** Default mask for RTE_FLOW_ITEM_TYPE_IPV6. */
@@ -2597,8 +2597,8 @@  struct rte_flow_action_queue {
 struct rte_flow_action_age {
 	uint32_t timeout:24; /**< Time in seconds. */
 	uint32_t reserved:8; /**< Reserved, must be zero. */
+	/** The user flow context, NULL means the rte_flow pointer. */
 	void *context;
-		/**< The user flow context, NULL means the rte_flow pointer. */
 };
 
 /**
@@ -2610,8 +2610,8 @@  struct rte_flow_action_age {
 struct rte_flow_query_age {
 	uint32_t reserved:6; /**< Reserved, must be zero. */
 	uint32_t aged:1; /**< 1 if aging timeout expired, 0 otherwise. */
+	/** sec_since_last_hit value is valid. */
 	uint32_t sec_since_last_hit_valid:1;
-	/**< sec_since_last_hit value is valid. */
 	uint32_t sec_since_last_hit:24; /**< Seconds since last traffic hit. */
 };
 
@@ -3242,7 +3242,7 @@  struct rte_flow_action_conntrack {
 	uint32_t last_direction:1;
 	/** No TCP check will be done except the state change. */
 	uint32_t liberal_mode:1;
-	/**<The current state of this connection. */
+	/** The current state of this connection. */
 	enum rte_flow_conntrack_state state;
 	/** Scaling factor for maximal allowed ACK window. */
 	uint8_t max_ack_window;
@@ -3355,9 +3355,9 @@  struct rte_flow_action_modify_data {
 	RTE_STD_C11
 	union {
 		struct {
-			/**< Encapsulation level or tag index. */
+			/** Encapsulation level or tag index. */
 			uint32_t level;
-			/**< Number of bits to skip from a field. */
+			/** Number of bits to skip from a field. */
 			uint32_t offset;
 		};
 		/**
@@ -3468,8 +3468,8 @@  struct rte_flow;
  */
 struct rte_flow_action_sample {
 	uint32_t ratio; /**< packets sampled equals to '1/ratio'. */
+	/** sub-action list specific for the sampling hit cases. */
 	const struct rte_flow_action *actions;
-		/**< sub-action list specific for the sampling hit cases. */
 };
 
 /**
@@ -4101,10 +4101,10 @@  struct rte_flow_indir_action_conf {
 	 * Action should be valid at least for one flow direction,
 	 * otherwise it is invalid for both ingress and egress rules.
 	 */
+	/** Action valid for rules applied to ingress traffic. */
 	uint32_t ingress:1;
-	/**< Action valid for rules applied to ingress traffic. */
+	/** Action valid for rules applied to egress traffic. */
 	uint32_t egress:1;
-	/**< Action valid for rules applied to egress traffic. */
 	/**
 	 * When set to 1, indicates that the action is valid for
 	 * transfer traffic; otherwise, for non-transfer traffic.
diff --git a/lib/ethdev/rte_mtr_driver.h b/lib/ethdev/rte_mtr_driver.h
index 62273ed3a9..ee8c6ef7ad 100644
--- a/lib/ethdev/rte_mtr_driver.h
+++ b/lib/ethdev/rte_mtr_driver.h
@@ -25,91 +25,91 @@ 
 extern "C" {
 #endif
 
+/** @internal MTR capabilities get. */
 typedef int (*rte_mtr_capabilities_get_t)(struct rte_eth_dev *dev,
 	struct rte_mtr_capabilities *cap,
 	struct rte_mtr_error *error);
-/**< @internal MTR capabilities get */
 
+/** @internal MTR meter profile add. */
 typedef int (*rte_mtr_meter_profile_add_t)(struct rte_eth_dev *dev,
 	uint32_t meter_profile_id,
 	struct rte_mtr_meter_profile *profile,
 	struct rte_mtr_error *error);
-/**< @internal MTR meter profile add */
 
+/** @internal MTR meter profile delete. */
 typedef int (*rte_mtr_meter_profile_delete_t)(struct rte_eth_dev *dev,
 	uint32_t meter_profile_id,
 	struct rte_mtr_error *error);
-/**< @internal MTR meter profile delete */
 
+/** @internal MTR meter policy validate. */
 typedef int (*rte_mtr_meter_policy_validate_t)(struct rte_eth_dev *dev,
 	struct rte_mtr_meter_policy_params *policy,
 	struct rte_mtr_error *error);
-/**< @internal MTR meter policy validate */
 
+/** @internal MTR meter policy add. */
 typedef int (*rte_mtr_meter_policy_add_t)(struct rte_eth_dev *dev,
 	uint32_t policy_id,
 	struct rte_mtr_meter_policy_params *policy,
 	struct rte_mtr_error *error);
-/**< @internal MTR meter policy add */
 
+/** @internal MTR meter policy delete. */
 typedef int (*rte_mtr_meter_policy_delete_t)(struct rte_eth_dev *dev,
 	uint32_t policy_id,
 	struct rte_mtr_error *error);
-/**< @internal MTR meter policy delete */
 
+/** @internal MTR object create. */
 typedef int (*rte_mtr_create_t)(struct rte_eth_dev *dev,
 	uint32_t mtr_id,
 	struct rte_mtr_params *params,
 	int shared,
 	struct rte_mtr_error *error);
-/**< @internal MTR object create */
 
+/** @internal MTR object destroy. */
 typedef int (*rte_mtr_destroy_t)(struct rte_eth_dev *dev,
 	uint32_t mtr_id,
 	struct rte_mtr_error *error);
-/**< @internal MTR object destroy */
 
+/** @internal MTR object meter enable. */
 typedef int (*rte_mtr_meter_enable_t)(struct rte_eth_dev *dev,
 	uint32_t mtr_id,
 	struct rte_mtr_error *error);
-/**< @internal MTR object meter enable */
 
+/** @internal MTR object meter disable. */
 typedef int (*rte_mtr_meter_disable_t)(struct rte_eth_dev *dev,
 	uint32_t mtr_id,
 	struct rte_mtr_error *error);
-/**< @internal MTR object meter disable */
 
+/** @internal MTR object meter profile update. */
 typedef int (*rte_mtr_meter_profile_update_t)(struct rte_eth_dev *dev,
 	uint32_t mtr_id,
 	uint32_t meter_profile_id,
 	struct rte_mtr_error *error);
-/**< @internal MTR object meter profile update */
 
+/** @internal MTR object meter policy update. */
 typedef int (*rte_mtr_meter_policy_update_t)(struct rte_eth_dev *dev,
 	uint32_t mtr_id,
 	uint32_t meter_policy_id,
 	struct rte_mtr_error *error);
-/**< @internal MTR object meter policy update */
 
+/** @internal MTR object meter DSCP table update. */
 typedef int (*rte_mtr_meter_dscp_table_update_t)(struct rte_eth_dev *dev,
 	uint32_t mtr_id,
 	enum rte_color *dscp_table,
 	struct rte_mtr_error *error);
-/**< @internal MTR object meter DSCP table update */
 
+/** @internal MTR object enabled stats update. */
 typedef int (*rte_mtr_stats_update_t)(struct rte_eth_dev *dev,
 	uint32_t mtr_id,
 	uint64_t stats_mask,
 	struct rte_mtr_error *error);
-/**< @internal MTR object enabled stats update */
 
+/** @internal MTR object stats read. */
 typedef int (*rte_mtr_stats_read_t)(struct rte_eth_dev *dev,
 	uint32_t mtr_id,
 	struct rte_mtr_stats *stats,
 	uint64_t *stats_mask,
 	int clear,
 	struct rte_mtr_error *error);
-/**< @internal MTR object stats read */
 
 struct rte_mtr_ops {
 	/** MTR capabilities get */