src/dpdk/lib/librte_ethdev/rte_ethdev.c
static int
eth_dev_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\n",
				port_id, offload_type, offload_name(offload));
			ret = -EINVAL;
		}

		/* Check if offload couldn't be disabled. */
		if (offload & set_offloads) {
			RTE_ETHDEV_LOG(DEBUG,
				"Port %u %s offload %s is not requested but enabled\n",
				port_id, offload_type, offload_name(offload));
		}

		offloads_diff &= ~offload;
	}

	return ret;
}
/*
 * Validate offloads that are requested through rte_eth_dev_configure against
 * the offloads successfully set by the ethernet device.
 *
 * @param port_id
 *   The port identifier of the Ethernet device.
 * @param req_offloads
 *   The offloads that have been requested through `rte_eth_dev_configure`.
 * @param set_offloads
 *   The offloads successfully set by the ethernet device.
 * @param offload_type
 *   The offload type i.e. Rx/Tx string.
 * @param offload_name
 *   The function that prints the offload name.
 * @return
 *   - (0) if validation successful.
 *   - (-EINVAL) if requested offload has been silently disabled.
 *
 */
Validate offloads that are requested through rte_eth_dev_configure against
the offloads successfully set by the ethernet device.

@param port_id
The port identifier of the Ethernet device.
@param req_offloads
The offloads that have been requested through `rte_eth_dev_configure`.
@param set_offloads
The offloads successfully set by the ethernet device.
@param offload_type
The offload type i.e. Rx/Tx string.
@param offload_name
The function that prints the offload name.
@return
- (0) if validation successful.
- (-EINVAL) if requested offload has been silently disabled.
Validate offloads that are requested through rte_eth_dev_configure against the offloads successfully set by the ethernet device . @param port_id The port identifier of the Ethernet device . @param req_offloads The offloads that have been requested through ` rte_eth_dev_configure ` . @param set_offloads The offloads successfully set by the ethernet device . @param offload_type The offload type i . e . Rx / Tx string . @param offload_name The function that prints the offload name . @return - ( 0 ) if validation successful . - ( - EINVAL ) if requested offload has been silently disabled .
static int
eth_dev_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) {
		offload = 1ULL << __builtin_ctzll(offloads_diff);
		if (offload & req_offloads) {
			RTE_ETHDEV_LOG(ERR,
				"Port %u failed to enable %s offload %s\n",
				port_id, offload_type, offload_name(offload));
			ret = -EINVAL;
		}
		if (offload & set_offloads) {
			RTE_ETHDEV_LOG(DEBUG,
				"Port %u %s offload %s is not requested but enabled\n",
				port_id, offload_type, offload_name(offload));
		}
		offloads_diff &= ~offload;
	}
	return ret;
}
static int eth_dev_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 ) { offload = 1ULL << __builtin_ctzll ( offloads_diff ) ; if ( offload & req_offloads ) { RTE_ETHDEV_LOG ( ERR , " \n " , port_id , offload_type , offload_name ( offload ) ) ; ret = - EINVAL ; } if ( offload & set_offloads ) { RTE_ETHDEV_LOG ( DEBUG , " \n " , port_id , offload_type , offload_name ( offload ) ) ; } offloads_diff &= ~ offload ; } return ret ; }
Validate offloads that are requested through rte_eth_dev_configure against
 the offloads successfully set by the ethernet device.
Validate offloads that are requested through rte_eth_dev_configure against the offloads successfully set by the ethernet device .
/* Check if any offload is requested but not enabled. */ /* Check if offload couldn't be disabled. */