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 <dek...@mellanox.com> > Reviewed-by: Andrew Rybchenko <arybche...@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 <tho...@monjalon.net>