---
name: "rte_eth_vmdq_rx_conf"
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_vmdq_rx_conf"
---

# rte\_eth\_vmdq\_rx\_conf(3)

## NAME

rte\_eth\_vmdq\_rx\_conf

## SYNOPSIS

`#include <rte_ethdev.h>`

### Data Fields

enum **rte\_eth\_nb\_pools** **nb\_queue\_pools**\
 uint8\_t **enable\_default\_pool**\
 uint8\_t **default\_pool**\
 uint8\_t **enable\_loop\_back**\
 uint8\_t **nb\_pool\_maps**\
 uint32\_t **rx\_mode**\
 struct {\
    uint16\_t **vlan\_id**\
    uint64\_t **pools**\
 } **pool\_map** \[**RTE\_ETH\_VMDQ\_MAX\_VLAN\_FILTERS**\]\

## Detailed Description

A structure used to configure the VMDq feature of an Ethernet port when not combined with the DCB feature.

Using this feature, packets are routed to a pool of queues. By default, the pool selection is based on the MAC address, the VLAN ID in the VLAN tag as specified in the pool\_map array. Passing the RTE\_ETH\_VMDQ\_ACCEPT\_UNTAG in the rx\_mode field allows pool selection using only the MAC address. MAC address to pool mapping is done using the rte\_eth\_dev\_mac\_addr\_add function, with the pool parameter corresponding to the pool ID.

Queue selection within the selected pool will be done using RSS when it is enabled or revert to the first queue of the pool if not.

A default pool may be used, if desired, to route all traffic which does not match the VLAN filter rules or any pool MAC address.

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

## Field Documentation

### enum rte\_eth\_nb\_pools nb\_queue\_pools

VMDq only mode, 8 or 64 pools

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

### uint8\_t enable\_default\_pool

If non-zero, use a default pool

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

### uint8\_t default\_pool

The default pool, if applicable

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

### uint8\_t enable\_loop\_back

Enable VT loop back

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

### uint8\_t nb\_pool\_maps

We can have up to 64 filters/mappings

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

### uint32\_t rx\_mode

Flags from RTE\_ETH\_VMDQ\_ACCEPT\_\*

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

### uint16\_t vlan\_id

The VLAN ID of the received frame

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

### uint64\_t pools

Bitmask of pools for packet Rx

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

### struct { ... } pool\_map\[RTE\_ETH\_VMDQ\_MAX\_VLAN\_FILTERS\]

VMDq VLAN pool maps.

## Author

Generated automatically by Doxygen for DPDK from the source code.
