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

Thomas Monjalon thomas at monjalon.net
Fri Mar 30 15:47:55 CEST 2018


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?


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?


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)?


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)?


Please give your opinion on questions 1, 2, 3 and 4.
Answering by yes/no may be sufficient in most cases :)
Thank you




More information about the dev mailing list