[dpdk-dev] [PATCH v2 1/3] ethdev: support API to set max LRO packet size

Thomas Monjalon thomas at monjalon.net
Wed Nov 6 13:26:29 CET 2019


06/11/2019 12:34, Dekel Peled:
> This patch implements [1], to support API for configuration and
> validation of max size for LRO aggregated packet.
> API change notice [2] is removed, and release notes for 19.11
> are updated accordingly.
> 
> Various PMDs using LRO offload are updated, the new data members are
> initialized to ensure they don't fail validation.
> 
> [1] http://patches.dpdk.org/patch/58217/
> [2] http://patches.dpdk.org/patch/57492/
> 
> Signed-off-by: Dekel Peled <dekelp at mellanox.com>
> Reviewed-by: Andrew Rybchenko <arybchenko at solarflare.com>
> ---
[...]
> --- a/lib/librte_ethdev/rte_ethdev.c
> +++ b/lib/librte_ethdev/rte_ethdev.c
> @@ -1156,6 +1156,26 @@ struct rte_eth_dev *
>  	return name;
>  }
>  
> +static inline int
> +check_lro_pkt_size(uint16_t port_id, uint32_t config_size,
> +		   uint32_t dev_info_size)
> +{
> +	int ret = 0;
> +
> +	if (config_size > dev_info_size) {
> +		RTE_ETHDEV_LOG(ERR, "Ethdev port_id=%d max_lro_pkt_size %u > "
> +			       "max allowed value %u\n",

Minor comment (can be fixed while merging):
it is better to keep fixed strings together so it can be grepped.
Here I would move " > " on the second line, so we can grep " > max allowed value ".

> +			       port_id, config_size, dev_info_size);
> +		ret = -EINVAL;
> +	} else if (config_size < RTE_ETHER_MIN_LEN) {
> +		RTE_ETHDEV_LOG(ERR, "Ethdev port_id=%d max_lro_pkt_size %u < "
> +			       "min allowed value %u\n", port_id, config_size,

Same minor comment here.

> +			       (unsigned int)RTE_ETHER_MIN_LEN);
> +		ret = -EINVAL;
> +	}
> +	return ret;
> +}
[...]
> --- a/lib/librte_ethdev/rte_ethdev.h
> +++ b/lib/librte_ethdev/rte_ethdev.h
> @@ -395,6 +395,8 @@ struct rte_eth_rxmode {
> +	/** Maximal allowed size of LRO aggregated packet. */

Not sure, isn't it more correct to say "Maximum" in English?

> +	uint32_t max_lro_pkt_size;
> @@ -1223,6 +1225,8 @@ struct rte_eth_dev_info {
> +	/** Maximum configurable size of LRO aggregated packet. */
> +	uint32_t max_lro_pkt_size;

Except minor comments above,
Acked-by: Thomas Monjalon <thomas at monjalon.net>




More information about the dev mailing list