Basically we are trying to configure packet steering to specific VF
according to L2 filter on XL710 Intel NIC adapter. We need to support
steering by MAC address and VLAN VID.
We do not need perfect match filtering, packet supposed to be sent to
specific VF when MAC address or VLAN VID matches configured values. See
If(packet->mac == expected_mac_vf_1 || packet->vlan.vid ==
expected_vlan_vf_1) {
Typically in production multiple MACs and VLANs will be associated with the
same VF. There could be several MACs(10th) and many VLANs(100th) in our
We are using kernel PF + DPDK VF.

- Can we somehow configure XL710 to classify packet by MAC and VLAN
separately (OR instead of AND)? (We have a working code that did MAC AND
- What mechanism supposed to be used to configure L2 steering? VEB (Virtual
Ethernet Bridge) or Flow Director?
- i40evf driver from DPDK does not allow us to disable “CRC stripping”
We cannot set “hw_strip_crc” to “0”. See “i40e_ethdev_vf.c:1593”:
/* For non-DPDK PF drivers, VF has no ability to disable HW
* CRC strip, and is implicitly enabled by the PF.
if (!conf->rxmode.hw_strip_crc) {
vf = I40EVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
if ((vf->version_major == I40E_VIRTCHNL_VERSION_MAJOR) &&
(vf->version_minor <= I40E_VIRTCHNL_VERSION_MINOR)) {
/* Peer is running non-DPDK PF driver. */
PMD_INIT_LOG(ERR, "VF can't disable HW CRC Strip");
return -EINVAL;
- We see that VF strips VLAN from packet. Can we preserve tag in the packet?
Following DPDK API setting does not help: “port_conf.rxmode.hw_vlan_strip =

Please advice.
Best regards
Arkady Gilinsky.

Reply via email to