medvedv / purifier

BSD 3-Clause "New" or "Revised" License
41 stars 10 forks source link

Is possible to run purifier with i40e? #12

Open tonve opened 7 years ago

tonve commented 7 years ago

/var/log/purifier.log PMD: i40e_pf_config_rss(): Max of contiguous 2 PF queues are configured EAL: Error - exiting with code: 1 Cause: rte_eth_dev_filter_ctrl: err=-22

Google finds that error is related to version-specific dpdk-driver, and looks like that was fixed in current stable branch. I'm wrong? Purifier may be built with 17.05 release?

tonve commented 7 years ago

The same issue with freebsd, dpdk 16.07 from ports collection PMD: i40e_pf_config_rss(): Max of contiguous 2 PF queues are configured EAL: Error - exiting with code: 1 Cause: rte_eth_dev_filter_ctrl: err=-22

tonve commented 7 years ago

Also tries with dpdk 17.05 still unhappens: i40e_pf_config_rss(): Max of contiguous 2 PF queues are configured i40e_ethertype_filter_restore(): Ethertype filter: mac_etype_used = 0, etype_used = 0, mac_etype_free = 0, etype_free = 0 i40e_fdir_filter_restore(): FDIR: Guarant count: 0, Best count: 0 i40e_dev_filter_ctrl(): Filter type (5) not supported EAL: Error - exiting with code: 1 Cause: rte_eth_dev_filter_ctrl: err=-22

medvedv commented 7 years ago

Hi,

Currently it is impossible to run purifier on i40, because it doesn't support L2 ethertype filters. I'm going to change purifier's arcitecture regarding NIC features soon.

Onepamopa commented 7 years ago

Actually I think some of the i40e support ethertype filters, at least there are mentions of them in the datasheets.

Onepamopa commented 7 years ago

"7.1.6 Layer 2 classification filter The 710 series supports L2 filters (MAC / VLAN / L2 Ethertype) in the embedded switch. These filters act on the following layers: S-Tag; MAC address; VLAN and EtherType. These filters define a VSI and can also define a unique LAN queue within that VSI. The LAN queue is enabled by the ToQueue flag and the queue is defined by the queue number for each filter. These parameters are programmed by admin commands described in Section 7.4.9.5.9. The filters can be defined as the second or fifth priority filters for receive queue classification as follows: "

tonve commented 7 years ago

Actually I think some of the i40e support ethertype filters, at least there are mentions of them in the datasheets.

Supported by hardware but not by drivers yet. History with openvswitch-guys and rejected patch here https://patchwork.ozlabs.org/patch/601608/

Onepamopa commented 7 years ago

So the only reason the patch was rejected was due to reordering of fragmented packets, that's not a problem for purifier. After all, fragmented packets are dropped by default.

Onepamopa commented 7 years ago

Couldn't flow director be used to classify IP/UDP? I just checked the examples in http://dpdk.org/doc/guides/nics/i40e.html but I don't have such hardware to check.