[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