[dpdk-dev] XL710: [Q] traffic steering under DPDK.

Arkady Gilinsky arcadyg at gmail.com
Fri Feb 2 09:15:00 CET 2018


Hi,

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
pseudocode:
“
If(packet->mac == expected_mac_vf_1 || packet->vlan.vid ==
expected_vlan_vf_1) {
sendToVf_1(packet);
return;
}
…
“
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
system.
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
VLAN.)
- 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”
feature.
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 =
0”.

Please advice.
=============
Best regards
Arkady Gilinsky.


More information about the dev mailing list