[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230113135930.27hpr5uxtrv77z44@skbuf>
Date: Fri, 13 Jan 2023 15:59:30 +0200
From: Vladimir Oltean <olteanv@...il.com>
To: Lukasz Majewski <lukma@...x.de>
Cc: Andrew Lunn <andrew@...n.ch>, Eric Dumazet <edumazet@...gle.com>,
Florian Fainelli <f.fainelli@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Russell King <linux@...linux.org.uk>,
Paolo Abeni <pabeni@...hat.com>,
Alexander Duyck <alexander.duyck@...il.com>,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v4 1/3] dsa: marvell: Provide per device information
about max frame size
On Fri, Jan 13, 2023 at 02:20:17PM +0100, Lukasz Majewski wrote:
> 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.
I suspect that looking at the DSA code which calls these methods will
answer a lot of your questions. ds->ops->port_max_mtu() is only called
for user ports. As for ds->ops->port_change_mtu(), this will always be
called with the requested L2 payload length (default 1500) on user ports,
and with the maximum among user ports for DSA and CPU ports.
Powered by blists - more mailing lists