On Sun, Oct 24, 2021 at 9:42 AM Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> wrote: > > There is no point to do rte_eth_dev_mtu_set() before configure since > set MTU value is overwritten on configure anyway. So, setting of MTU > before configure is rejected now on ethdev level. > > If testpmd is going to do configure (e.g. just after testpmd start > with disabled devices start up or any configuration changes in stopped > state which require reconfigure), just save requested MTU in device > config to be applied on reconfigure. > > Fixes: 1bb4a528c41f ("ethdev: fix max Rx packet length") > Fixes: be0433cf953c ("ethdev: forbid MTU set before device configure") > > Signed-off-by: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> Acked-by: Ajit Khaparde <ajit.khapa...@broadcom.com>
> --- > app/test-pmd/config.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c > index a18871d461..3b97164302 100644 > --- a/app/test-pmd/config.c > +++ b/app/test-pmd/config.c > @@ -1241,10 +1241,12 @@ port_mtu_set(portid_t port_id, uint16_t mtu) > if (port_id_is_invalid(port_id, ENABLED_WARN)) > return; > > - diag = rte_eth_dev_set_mtu(port_id, mtu); > - if (diag != 0) { > - fprintf(stderr, "Set MTU failed. diag=%d\n", diag); > - return; > + if (port->need_reconfig == 0) { > + diag = rte_eth_dev_set_mtu(port_id, mtu); > + if (diag != 0) { > + fprintf(stderr, "Set MTU failed. diag=%d\n", diag); > + return; > + } > } > > port->dev_conf.rxmode.mtu = mtu; > -- > 2.30.2 >