[dpdk-dev] Querying for rte_flow support?

Thomas Monjalon thomas at monjalon.net
Wed Sep 29 20:52:43 CEST 2021


29/09/2021 19:44, Stephen Hemminger:
> Have a problem with auto-detecting whether device driver supports rte_flow.
> 
> Ideally in application would like to be able adapt to handle devices that
> do rte_flow and those that do not.  If device does not support rte_flow,
> then configure with RSS across multiple cores; if device does support rte_flow
> then assign traffic to queue based on match (on MAC).
> 
> The problem is that there really is not a good API in DPDK for checking.
> Most device drivers will not give the correct return to rte_flow_validate
> unless the device is configured already, and some require device to be started.
> In order to configure, the application has to choose how many queues to use
> and that is the reason it wants to know if rte_flow will work!
> 
> The other alternative is looking at DPDK internal data structs to see
> if device supports flow operations. That is not good, and causes more
> issues in later releases.
> 
> Looks like rte_flow has a "chicken/egg problem" here.

I think we just need to fix drivers implementation of rte_flow_validate().
We must be able to validate a flow before starting the device.
Which drivers are refusing such check?
That's something we can check with some unit tests.




More information about the dev mailing list