Re: [dpdk-dev] [PATCH] ethdev: forbid MTU set before device configure
From: Ferruh Yigit <hidden>
Date: 2021-10-29 09:22:18
On 10/29/2021 7:19 AM, Andrew Rybchenko wrote:
On 10/29/21 8:58 AM, Jiang, YuX wrote:quoted
quoted
-----Original Message----- From: dev <redacted> On Behalf Of Andrew Rybchenko Sent: Friday, October 22, 2021 6:18 PM To: Thomas Monjalon <redacted>; Yigit, Ferruh [off-list ref]; Ajit Khaparde [off-list ref]; Huisong Li [off-list ref]; Ananyev, Konstantin [off-list ref]; Xu, Rosen [off-list ref] Cc: dev@dpdk.org; Ivan Ilchenko <redacted> Subject: [dpdk-dev] [PATCH] ethdev: forbid MTU set before device configure From: Ivan Ilchenko <redacted> rte_eth_dev_configure() always sets MTU to either dev_conf.rxmode.mtu or RTE_ETHER_MTU if application doesn't provide the value. So, there is no point to allow rte_eth_dev_set_mtu() before since set value will be overwritten on configure anyway. Fixes: 1bb4a528c41f ("ethdev: fix max Rx packet length") Signed-off-by: Ivan Ilchenko <redacted> Signed-off-by: Andrew Rybchenko <redacted> --- lib/ethdev/rte_ethdev.c | 7 +++++++ 1 file changed, 7 insertions(+)diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c index4ea5a657e0..0d7dd68dc1 100644--- a/lib/ethdev/rte_ethdev.c +++ b/lib/ethdev/rte_ethdev.c@@ -3728,6 +3728,13 @@ rte_eth_dev_set_mtu(uint16_t port_id, uint16_tmtu) return ret; } + if (dev->data->dev_configured == 0) { + RTE_ETHDEV_LOG(ERR, + "Port %u must be configured before MTU set\n", + port_id); + return -EINVAL; + } + ret = (*dev->dev_ops->mtu_set)(dev, mtu); if (ret == 0) dev->data->mtu = mtu; -- 2.30.2Hi Ivan, We meet an issue based on this patch when test dpdk21.11-rc1. BugID: https://bugs.dpdk.org/show_bug.cgi?id=864, could you pls have a look?Hi, I think the problem is fixed by [1]. [1] https://patches.dpdk.org/project/dpdk/patch/20211024164237.2116166-1-andrew.rybchenko@oktetlabs.ru/
That patch is merged to next-net, Yu can you please verify the issue with latest next-net?