Hi Vladimir, > On Fri, Jan 13, 2023 at 01:13:31PM +0100, Lukasz Majewski wrote: > > I think that this commit [1], made the adjustment to fix yet another > > issue. > > [1] - > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b9c587fed61cf88bd45822c3159644445f6d5aa6 > > > > It appears that this is the commit to blame, indeed. > > > It looks like the missing 8 bytes are added in the > > mv88e6xxx_change_mtu() function. > > Only for DSA and CPU ports. The driver still behaves as if the max MTU > on user ports is 1492 bytes. > It looks so... > > > I wonder, shouldn't we first fix that, and apply this patch set > > > afterwards? > > > > IMHO, it is up to Andrew to decide how to proceed, as the > > aforementioned patch [1] is an attempt to fix yet another issue [2]. > > [2] - > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1baf0fac10fbe3084975d7cb0a4378eb18871482 > > > > I think the handling for those switches were neither > port_set_jumbo_size() nor set_max_frame_size() is present is just a > roundabout way of saying "hey, I only support ETH_DATA_LEN MTU and > can't change it, leave me alone". But it isn't what the code does. I tend to agree... The number of switched which suppor 1522 B max frame is only six. This may be why the problem was not noticed. The fixed function maybe should look like below: static int mv88e6xxx_get_max_mtu(struct dsa_switch *ds, int port) { .... int max_mtu; max_mtu = chip->info->max_frame_size - VLAN_ETH_HLEN - ETH_FCS_LE; if (dsa_is_dsa_port(ds, port) || dsa_is_cpu_port(ds, port)) max_mtu -= EDSA_HLEN; return max_mtu; } Comments more than welcome. Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Erika Unter HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de