[PATCH v2 1/1] net/nbl: fix incorrect MTU stored in rxmode
Dimon Zhao
dimon.zhao at nebula-matrix.com
Tue Sep 29 05:52:35 CEST 2026
The ethdev layer already updates dev->data->mtu on success.
After rte_eth_dev_configure(), dev_conf.rxmode.mtu becomes stale
and should not be modified by mtu_set.
Additionally, the original code assigned frame_size (MTU + overhead)
instead of MTU, confusing frame length with MTU.
Fixes: 75cdda36a4c5 ("net/nbl: support MTU update")
Cc: stable at dpdk.org
Signed-off-by: Dimon Zhao <dimon.zhao at nebula-matrix.com>
---
drivers/net/nbl/nbl_dev/nbl_dev.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/net/nbl/nbl_dev/nbl_dev.c b/drivers/net/nbl/nbl_dev/nbl_dev.c
index 320f26619f..e41732ccd3 100644
--- a/drivers/net/nbl/nbl_dev/nbl_dev.c
+++ b/drivers/net/nbl/nbl_dev/nbl_dev.c
@@ -757,16 +757,14 @@ int nbl_mtu_set(struct rte_eth_dev *eth_dev, uint16_t mtu)
struct nbl_adapter *adapter = ETH_DEV_TO_NBL_DEV_PF_PRIV(eth_dev);
struct nbl_dev_mgt *dev_mgt = NBL_ADAPTER_TO_DEV_MGT(adapter);
struct nbl_dispatch_ops *disp_ops = NBL_DEV_MGT_TO_DISP_OPS(dev_mgt);
- uint32_t frame_size = mtu + NBL_ETH_OVERHEAD;
int ret;
- /* mtu setting is forbidden if port is start */
+ /* mtu setting is forbidden if port is started */
if (dev_data->dev_started) {
NBL_LOG(ERR, "port %d must be stopped before configuration", dev_data->port_id);
return -EBUSY;
}
- dev_data->dev_conf.rxmode.mtu = frame_size;
ret = disp_ops->set_mtu(NBL_DEV_MGT_TO_DISP_PRIV(dev_mgt), dev_mgt->net_dev->vsi_id, mtu);
if (ret)
return ret;
--
2.34.1
More information about the stable
mailing list