03/08/2020 17:55, Andrew Rybchenko: > On 8/3/20 6:49 PM, Ori Kam wrote: > > From: David Marchand <david.march...@redhat.com> > >> On Mon, Aug 3, 2020 at 5:23 PM Ori Kam <or...@mellanox.com> wrote: > >>>>> + > >>>>> +- Hashing on types that are not supported by the PMD. > >>>> Shouldn't it return error to the caller? > >>>> > >>> That’s depends, if for example the application requested eth and IPv4, > >>> and the PMD can do only IPv4 so according to this, the PMD will just do > >>> IPv4. > >> We should have some validation in ethdev to catch this. > >> Is it not the case? > >> > > Like I said in my reply to Andrew, in rte_flow we don't have such caps. > > Maybe we should think about adding them for the RSS case, but again it is > > tricky > > What if one RSS type is supported depending on the flow or other types? > > Also I'd like to add that ethdev layer is dummy for rte_flow API. > It does not parse pattern/actions etc. May be should change it one day.
For now, what we can do is to have "best effort" (sic) checks. In the case we are 100% sure a rule cannot be fully supported, I think we should reject the rule. If there are more complex cases to handle, we can accept the rule and support it with "best effort" handling. The other appropriate action is to implement tests in DTS to check the behaviour of the PMDs, validating the compliance of the accepted rules with real flows.