DPDK  19.05.0
Data Fields
rte_eth_vmdq_rx_conf Struct Reference

#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 [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 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.

Examples:
examples/vhost/main.c, examples/vmdq/main.c, and examples/vmdq_dcb/main.c.

Definition at line 734 of file rte_ethdev.h.

Field Documentation

enum rte_eth_nb_pools nb_queue_pools

VMDq only mode, 8 or 64 pools

Examples:
examples/vmdq/main.c, and examples/vmdq_dcb/main.c.

Definition at line 735 of file rte_ethdev.h.

uint8_t enable_default_pool

If non-zero, use a default pool

Definition at line 736 of file rte_ethdev.h.

uint8_t default_pool

The default pool, if applicable

Definition at line 737 of file rte_ethdev.h.

uint8_t enable_loop_back

Enable VT loop back

Examples:
examples/vhost/main.c.

Definition at line 738 of file rte_ethdev.h.

uint8_t nb_pool_maps

We can have up to 64 filters/mappings

Definition at line 739 of file rte_ethdev.h.

uint32_t rx_mode

Flags from ETH_VMDQ_ACCEPT_*

Examples:
examples/vhost/main.c.

Definition at line 740 of file rte_ethdev.h.

uint16_t vlan_id

The vlan id of the received frame

Definition at line 742 of file rte_ethdev.h.

uint64_t pools

Bitmask of pools for packet rx

Definition at line 743 of file rte_ethdev.h.

struct { ... } pool_map[ETH_VMDQ_MAX_VLAN_FILTERS]

VMDq vlan pool maps.


The documentation for this struct was generated from the following file: