Messages in this thread | | | Date | Sun, 21 Nov 2021 20:14:29 +0200 | From | Vladimir Oltean <> | Subject | Re: [net PATCH 2/2] net: dsa: qca8k: fix MTU calculation |
| |
On Fri, Nov 19, 2021 at 03:03:50AM +0100, Ansuel Smith wrote: > From: Robert Marko <robert.marko@sartura.hr> > > qca8k has a global MTU, so its tracking the MTU per port to make sure > that the largest MTU gets applied. > Since it uses the frame size instead of MTU the driver MTU change function > will then add the size of Ethernet header and checksum on top of MTU. > > The driver currently populates the per port MTU size as Ethernet frame > length + checksum which equals 1518. > > The issue is that then MTU change function will go through all of the > ports, find the largest MTU and apply the Ethernet header + checksum on > top of it again, so for a desired MTU of 1500 you will end up with 1536. > > This is obviously incorrect, so to correct it populate the per port struct > MTU with just the MTU and not include the Ethernet header + checksum size > as those will be added by the MTU change function. > > Fixes: f58d2598cf70 ("net: dsa: qca8k: implement the port MTU callbacks") > Signed-off-by: Robert Marko <robert.marko@sartura.hr> > Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> > ---
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
| |