[dpdk-dev] [PATCH v16 3/8] ethdev: add validation to offloads set by PMD
Ferruh Yigit
ferruh.yigit at intel.com
Thu Nov 7 17:51:55 CET 2019
On 11/6/2019 7:17 PM, pbhagavatula at marvell.com wrote:
> +static int
> +validate_offloads(uint16_t port_id, uint64_t req_offloads,
> + uint64_t set_offloads, const char *offload_type,
> + const char *(*offload_name)(uint64_t))
> +{
> + uint64_t offloads_diff = req_offloads ^ set_offloads;
> + uint64_t offload;
> + int ret = 0;
> +
> + while (offloads_diff != 0) {
> + /* Check if any offload is requested but not enabled. */
> + offload = 1ULL << __builtin_ctzll(offloads_diff);
> + if (offload & req_offloads) {
> + RTE_ETHDEV_LOG(ERR,
> + "Port %u failed to enable %s offload %s",
> + port_id, offload_type,
> + offload_name(offload));
> + ret = -EINVAL;
> + }
> +
> + /* Chech if offload couldn't be disabled. */
> + if (offload & set_offloads) {
> + RTE_ETHDEV_LOG(INFO,
> + "Port %u failed to disable %s offload %s",
> + port_id, offload_type,
> + offload_name(offload));
"\n" missed in logs.
More information about the dev
mailing list