iPXE
|
Queue configuration mailbox message (API v1.1+ only) More...
#include <intelvf.h>
Data Fields | |
uint32_t | hdr |
Message header. More... | |
uint32_t | tx |
Maximum number of transmit queues. More... | |
uint32_t | rx |
Maximum number of receive queues. More... | |
uint32_t | vlan_thing |
VLAN hand-waving thing. More... | |
uint32_t | dflt |
Default queue. More... | |
uint32_t intelvf_msg_queues::tx |
uint32_t intelvf_msg_queues::rx |
uint32_t intelvf_msg_queues::vlan_thing |
VLAN hand-waving thing.
This is labelled IXGBE_VF_TRANS_VLAN in the Linux driver.
A comment in the Linux PF driver describes it as "notify VF of need for VLAN tag stripping, and correct queue". It will be filled with a non-zero value if the PF is enforcing the use of a single VLAN tag. It will also be filled with a non-zero value if the PF is using multiple traffic classes.
The Linux VF driver seems to treat this field as being simply the number of traffic classes, and gives it no VLAN-related interpretation.
If the PF is enforcing the use of a single VLAN tag for the VF, then the VLAN tag will be transparently inserted in transmitted packets (via the PFVMVIR register) but will still be visible in received packets. The Linux VF driver handles this unexpected VLAN tag by simply ignoring any unrecognised VLAN tags.
We choose to strip and ignore the VLAN tag if this field has a non-zero value.