[dpdk-dev] Survey for final decision about per-port offload API

Andrew Rybchenko arybchenko at solarflare.com
Fri Mar 30 17:13:11 CEST 2018


On 03/30/2018 04:47 PM, Thomas Monjalon wrote:
> There are some discussions about a specific part of the offload API:
> 	"To enable per-port offload, the offload should be set on both
> 	device configuration and queue setup."
>
> It means the application must repeat the port offload flags
> in rte_eth_conf.[rt]xmode.offloads and rte_eth_[rt]xconf.offloads,
> when calling respectively rte_eth_dev_configure() and
> rte_eth_[rt]x_queue_setup for each queue.
>
> The PMD must check if there is mismatch, i.e. a port offload not
> repeated in queue setup.
> There is a proposal to do this check at ethdev level:
> 	http://dpdk.org/ml/archives/dev/2018-March/094023.html
>
> It was also proposed to relax the API and allow "forgetting" port
> offloads in queue offloads:
> 	http://dpdk.org/ml/archives/dev/2018-March/092978.html
>
> It would mean the offloads applied to a queue result of OR operation:
> 	rte_eth_conf.[rt]xmode.offloads | rte_eth_[rt]xconf.offloads
>
> 1/ Do you agree with above API change?

Yes

> If we agree with this change, we need to update the documentation
> and remove the checks in PMDs.
> Note: no matter what is decided here, 18.05-rc1 should have all PMDs
> switched to the API which was defined in 17.11.
> Given that API is new and not yet adopted by the applications,
> the sonner it is fixed, the better.
>
> 2/ Should we do this change in 18.05-rc2?

Yes

> At the same time, we want to make clear that an offload enabled at
> port level, cannot be disabled at queue level.
>
> 3/ Do you agree with above statement (to be added in the doc)?

Yes

> There is the same kind of confusion in the offload capabilities:
> 	rte_eth_dev_info.[rt]x_offload_capa
> 	rte_eth_dev_info.[rt]x_queue_offload_capa
> The queue capabilities must be a subset of port capabilities,
> i.e. every queue capabilities must be reported as port capabilities.
> But the port capabilities should be reported at queue level
> only if it can be applied to a specific queue.
>
> 4/ Do you agree with above statement (to be added in the doc)?

Yes, may be it would be good to be more precise what "can be applied" mean.
As I understand it is "can be enabled on queue when it is disabled on 
port level".

Andrew.


More information about the dev mailing list