Take minimum and maximum MTU values for subdevices and
report maximum of minimums and minimum of maximums.
Fixes: ad97ceece12c ("ethdev: add min/max MTU to device info")
Cc: [email protected]
Signed-off-by: Andrew Rybchenko <[email protected]>
---
drivers/net/failsafe/failsafe_ops.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/net/failsafe/failsafe_ops.c
b/drivers/net/failsafe/failsafe_ops.c
index 76d64871b4..5e6fb369e1 100644
--- a/drivers/net/failsafe/failsafe_ops.c
+++ b/drivers/net/failsafe/failsafe_ops.c
@@ -1095,6 +1095,8 @@ static void
fs_dev_merge_info(struct rte_eth_dev_info *info,
const struct rte_eth_dev_info *sinfo)
{
+ info->min_mtu = RTE_MAX(info->min_mtu, sinfo->min_mtu);
+ info->max_mtu = RTE_MIN(info->max_mtu, sinfo->max_mtu);
info->max_rx_pktlen = RTE_MIN(info->max_rx_pktlen,
sinfo->max_rx_pktlen);
info->max_rx_queues = RTE_MIN(info->max_rx_queues,
sinfo->max_rx_queues);
info->max_tx_queues = RTE_MIN(info->max_tx_queues,
sinfo->max_tx_queues);
@@ -1172,6 +1174,8 @@ fs_dev_infos_get(struct rte_eth_dev *dev,
int ret;
/* Use maximum upper bounds by default */
+ infos->min_mtu = RTE_ETHER_MIN_MTU;
+ infos->max_mtu = UINT16_MAX;
infos->max_rx_pktlen = UINT32_MAX;
infos->max_rx_queues = RTE_MAX_QUEUES_PER_PORT;
infos->max_tx_queues = RTE_MAX_QUEUES_PER_PORT;
--
2.29.2