---
name: "rte_eth_dev_info"
section: "3"
platform: "linux"
package: "dpdk-doc"
version: "24.11.4-0+deb13u1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/rte_eth_dev_info"
---

# rte\_eth\_dev\_info(3)

## NAME

rte\_eth\_dev\_info

## SYNOPSIS

`#include <rte_ethdev.h>`

### Data Fields

struct rte\_device \* **device**\
 const char \* **driver\_name**\
 unsigned int **if\_index**\
 uint16\_t **min\_mtu**\
 uint16\_t **max\_mtu**\
 const uint32\_t \* **dev\_flags**\
 uint32\_t **min\_rx\_bufsize**\
 uint32\_t **max\_rx\_bufsize**\
 uint32\_t **max\_rx\_pktlen**\
 uint32\_t **max\_lro\_pkt\_size**\
 uint16\_t **max\_rx\_queues**\
 uint16\_t **max\_tx\_queues**\
 uint32\_t **max\_mac\_addrs**\
 uint32\_t **max\_hash\_mac\_addrs**\
 uint16\_t **max\_vfs**\
 uint16\_t **max\_vmdq\_pools**\
 struct **rte\_eth\_rxseg\_capa** **rx\_seg\_capa**\
 uint64\_t **rx\_offload\_capa**\
 uint64\_t **tx\_offload\_capa**\
 uint64\_t **rx\_queue\_offload\_capa**\
 uint64\_t **tx\_queue\_offload\_capa**\
 uint16\_t **reta\_size**\
 uint8\_t **hash\_key\_size**\
 uint64\_t **flow\_type\_rss\_offloads**\
 struct **rte\_eth\_rxconf** **default\_rxconf**\
 struct **rte\_eth\_txconf** **default\_txconf**\
 uint16\_t **vmdq\_queue\_base**\
 uint16\_t **vmdq\_queue\_num**\
 uint16\_t **vmdq\_pool\_base**\
 struct **rte\_eth\_desc\_lim** **rx\_desc\_lim**\
 struct **rte\_eth\_desc\_lim** **tx\_desc\_lim**\
 uint32\_t **speed\_capa**\
 uint16\_t **nb\_rx\_queues**\
 uint16\_t **nb\_tx\_queues**\
 uint16\_t **max\_rx\_mempools**\
 struct **rte\_eth\_dev\_portconf** **default\_rxportconf**\
 struct **rte\_eth\_dev\_portconf** **default\_txportconf**\
 uint64\_t **dev\_capa**\
 struct **rte\_eth\_switch\_info** **switch\_info**\
 enum **rte\_eth\_err\_handle\_mode** **err\_handle\_mode**\
 uint64\_t **reserved\_64s** \[2\]\
 void \* **reserved\_ptrs** \[2\]\

## Detailed Description

A structure used to retrieve the contextual information of an Ethernet device, such as the controlling driver of the device, etc...

Definition at line **1773** of file **rte\_ethdev.h**.

## Field Documentation

### struct rte\_device\* device

Generic device information

Definition at line **1774** of file **rte\_ethdev.h**.

### const char\* driver\_name

Device Driver name.

Definition at line **1775** of file **rte\_ethdev.h**.

### unsigned int if\_index

Index to bound host interface, or 0 if none. Use if\_indextoname() to translate into an interface name.

Definition at line **1776** of file **rte\_ethdev.h**.

### uint16\_t min\_mtu

Minimum MTU allowed

Definition at line **1778** of file **rte\_ethdev.h**.

### uint16\_t max\_mtu

Maximum MTU allowed

Definition at line **1779** of file **rte\_ethdev.h**.

### const uint32\_t\* dev\_flags

Device flags

Definition at line **1780** of file **rte\_ethdev.h**.

### uint32\_t min\_rx\_bufsize

Minimum Rx buffer size per descriptor supported by HW.

Definition at line **1782** of file **rte\_ethdev.h**.

### uint32\_t max\_rx\_bufsize

Maximum Rx buffer size per descriptor supported by HW. The value is not enforced, information only to application to optimize mbuf size. Its value is UINT32\_MAX when not specified by the driver.

Definition at line **1789** of file **rte\_ethdev.h**.

### uint32\_t max\_rx\_pktlen

Maximum configurable length of Rx pkt.

Definition at line **1790** of file **rte\_ethdev.h**.

### uint32\_t max\_lro\_pkt\_size

Maximum configurable size of LRO aggregated packet.

Definition at line **1792** of file **rte\_ethdev.h**.

### uint16\_t max\_rx\_queues

Maximum number of Rx queues.

Definition at line **1793** of file **rte\_ethdev.h**.

### uint16\_t max\_tx\_queues

Maximum number of Tx queues.

Definition at line **1794** of file **rte\_ethdev.h**.

### uint32\_t max\_mac\_addrs

Maximum number of MAC addresses.

Definition at line **1795** of file **rte\_ethdev.h**.

### uint32\_t max\_hash\_mac\_addrs

Maximum number of hash MAC addresses for MTA and UTA.

Definition at line **1797** of file **rte\_ethdev.h**.

### uint16\_t max\_vfs

Maximum number of VFs.

Definition at line **1798** of file **rte\_ethdev.h**.

### uint16\_t max\_vmdq\_pools

Maximum number of VMDq pools.

Definition at line **1799** of file **rte\_ethdev.h**.

### struct rte\_eth\_rxseg\_capa rx\_seg\_capa

Segmentation capability.

Definition at line **1800** of file **rte\_ethdev.h**.

### uint64\_t rx\_offload\_capa

All Rx offload capabilities including all per-queue ones

Definition at line **1802** of file **rte\_ethdev.h**.

### uint64\_t tx\_offload\_capa

All Tx offload capabilities including all per-queue ones

Definition at line **1804** of file **rte\_ethdev.h**.

### uint64\_t rx\_queue\_offload\_capa

Device per-queue Rx offload capabilities.

Definition at line **1806** of file **rte\_ethdev.h**.

### uint64\_t tx\_queue\_offload\_capa

Device per-queue Tx offload capabilities.

Definition at line **1808** of file **rte\_ethdev.h**.

### uint16\_t reta\_size

Device redirection table size, the total number of entries.

Definition at line **1810** of file **rte\_ethdev.h**.

### uint8\_t hash\_key\_size

Hash key size in bytes

Definition at line **1811** of file **rte\_ethdev.h**.

### uint64\_t flow\_type\_rss\_offloads

RSS hash algorithms capabilities Bit mask of RSS offloads, the bit offset also means flow type

Definition at line **1814** of file **rte\_ethdev.h**.

### struct rte\_eth\_rxconf default\_rxconf

Default Rx configuration

Definition at line **1815** of file **rte\_ethdev.h**.

### struct rte\_eth\_txconf default\_txconf

Default Tx configuration

Definition at line **1816** of file **rte\_ethdev.h**.

### uint16\_t vmdq\_queue\_base

First queue ID for VMDq pools.

Definition at line **1817** of file **rte\_ethdev.h**.

### uint16\_t vmdq\_queue\_num

Queue number for VMDq pools.

Definition at line **1818** of file **rte\_ethdev.h**.

### uint16\_t vmdq\_pool\_base

First ID of VMDq pools.

Definition at line **1819** of file **rte\_ethdev.h**.

### struct rte\_eth\_desc\_lim rx\_desc\_lim

Rx descriptors limits

Definition at line **1820** of file **rte\_ethdev.h**.

### struct rte\_eth\_desc\_lim tx\_desc\_lim

Tx descriptors limits

Definition at line **1821** of file **rte\_ethdev.h**.

### uint32\_t speed\_capa

Supported speeds bitmap (RTE\_ETH\_LINK\_SPEED\_).

Definition at line **1822** of file **rte\_ethdev.h**.

### uint16\_t nb\_rx\_queues

Configured number of Rx/Tx queues Number of Rx queues.

Definition at line **1824** of file **rte\_ethdev.h**.

### uint16\_t nb\_tx\_queues

Number of Tx queues.

Definition at line **1825** of file **rte\_ethdev.h**.

### uint16\_t max\_rx\_mempools

Maximum number of Rx mempools supported per Rx queue.

Value greater than 0 means that the driver supports Rx queue mempools specification via rx\_conf-\>rx\_mempools.

Definition at line **1832** of file **rte\_ethdev.h**.

### struct rte\_eth\_dev\_portconf default\_rxportconf

Rx parameter recommendations

Definition at line **1834** of file **rte\_ethdev.h**.

### struct rte\_eth\_dev\_portconf default\_txportconf

Tx parameter recommendations

Definition at line **1836** of file **rte\_ethdev.h**.

### uint64\_t dev\_capa

Generic device capabilities (RTE\_ETH\_DEV\_CAPA\_).

Definition at line **1838** of file **rte\_ethdev.h**.

### struct rte\_eth\_switch\_info switch\_info

Switching information for ports on a device with a embedded managed interconnect/switch.

Definition at line **1843** of file **rte\_ethdev.h**.

### enum rte\_eth\_err\_handle\_mode err\_handle\_mode

Supported error handling mode.

Definition at line **1845** of file **rte\_ethdev.h**.

### uint64\_t reserved\_64s\[2\]

Reserved for future fields

Definition at line **1847** of file **rte\_ethdev.h**.

### void\* reserved\_ptrs\[2\]

Reserved for future fields

Definition at line **1848** of file **rte\_ethdev.h**.

## Author

Generated automatically by Doxygen for DPDK from the source code.
