Messages in this thread Patch in this message | | | From | Jerry Ray <> | Subject | [PATCH net-next 1/2] dsa: lan9303: Add port_max_mtu API | Date | Fri, 2 Dec 2022 10:05:28 -0600 |
| |
Adding in support for reporting the max mtu for a given port.
Signed-off-by: Jerry Ray <jerry.ray@microchip.com> --- drivers/net/dsa/lan9303-core.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)
diff --git a/drivers/net/dsa/lan9303-core.c b/drivers/net/dsa/lan9303-core.c index 93c2a3c549cb..ed8f83f3a654 100644 --- a/drivers/net/dsa/lan9303-core.c +++ b/drivers/net/dsa/lan9303-core.c @@ -1328,6 +1328,25 @@ static int lan9303_port_mdb_del(struct dsa_switch *ds, int port, return 0; } +/* For non-cpu ports, the max frame size is 1518. + * The CPU port supports a max frame size of 1522. + * There is a JUMBO flag to make the max size 2048, but this driver + * presently does not support using it. + */ +static int lan9303_port_max_mtu(struct dsa_switch *ds, int port) +{ + struct net_device *p = dsa_port_to_master(dsa_to_port(ds, port)); + struct lan9303 *chip = ds->priv; + + dev_dbg(chip->dev, "%s(%d) entered. NET max_mtu is %d", + __func__, port, p->max_mtu); + + if (dsa_port_is_cpu(dsa_to_port(ds, port))) + return 1522; + else + return 1518; +} + static const struct dsa_switch_ops lan9303_switch_ops = { .get_tag_protocol = lan9303_get_tag_protocol, .setup = lan9303_setup, @@ -1348,6 +1367,7 @@ static const struct dsa_switch_ops lan9303_switch_ops = { .port_fdb_dump = lan9303_port_fdb_dump, .port_mdb_add = lan9303_port_mdb_add, .port_mdb_del = lan9303_port_mdb_del, + .port_max_mtu = lan9303_port_max_mtu, }; static int lan9303_register_switch(struct lan9303 *chip) -- 2.17.1
| |