(reordered replies to avoid top-post) 04/06/2020 13:21, Iremonger, Bernard: > From: Ori Kam <or...@mellanox.com> > > From: Bernard Iremonger <bernard.iremon...@intel.com> > > > > > > Add map action to rte_flow API to map a Packet Classification type > > > (pctype) to a flowtype for the i40e PMD. > > > > > > This feature requires changes to be made to the rte_flow code in > > > librte_ethdev, testpmd and the i40e PMD. > > > > > > Bernard Iremonger (8): > > > librte_ethdev: add new flow types and action > > > librte_ethdev: add map filter type > > > librte_ethdev: add map action > > > app/testpmd: parse map actions > > > net/i40e: add map filter > > > net/i40e: add map functions > > > net/i40e: parse map pattern and action > > > doc: release note > > > > Can you please explain more what is the pctype, the flow type, What is the > > general idea beyond this patch set? > > How will the application uses it? > > is it only for i40? > > This patchset is intended to add support in the rte_flow API for the Dynamic > Device Personalization (DDP) feature on the Intel i40e PMD by adding a map > action. > > https://software.intel.com/content/www/us/en/develop/articles/dynamic-device-personalization-for-intel-ethernet-700-series.html > > pctype means Packet Classification type. > flowtype is the index into the pctype table on the i40e. > > The map action is intended to insert the specified pctype into the pctype > table at index specified by the flowtype. > > At present the DDP feature uses the following commands in testpmd: > /* map pctype 15 to flowtype 27 */ > # testpmd> port config 0 pctype mapping update 15 27 > # testpmd> show port 0 pctype mapping > pctype: 15 -> flowtype: 27 > > > In future the application will create the following rule: > # testpmd> flow create 0 ingress pattern end actions map pctype 15 flowtype > 27 / end > # testpmd> show port 0 pctype mapping > pctype: 15 -> flowtype: 27
This usage looks really Intel-specific. If the application has to consider the Intel-specific ids, then it is not generic. Having some HW specific API makes no sense in the generic ethdev API. Sorry I must say NACK. Could this code be in drivers/net/i40e/rte_pmd_i40e.h ?