diff mbox series

[net-next] net: dsa: mt7530: enable MTU normalization

Message ID 20201210170322.3433-1-dqfext@gmail.com (mailing list archive)
State New, archived
Headers show
Series [net-next] net: dsa: mt7530: enable MTU normalization | expand

Commit Message

Qingfang Deng Dec. 10, 2020, 5:03 p.m. UTC
MT7530 has a global RX length register, so we are actually changing its
MRU.
Enable MTU normalization for this reason.

Signed-off-by: DENG Qingfang <dqfext@gmail.com>
---
 drivers/net/dsa/mt7530.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Landen Chao (趙皎宏) Dec. 11, 2020, 12:11 p.m. UTC | #1
On Fri, 2020-12-11 at 01:03 +0800, DENG Qingfang wrote:
> MT7530 has a global RX length register, so we are actually changing its
> MRU.
> Enable MTU normalization for this reason.
> 
> Signed-off-by: DENG Qingfang <dqfext@gmail.com>
> ---
Acked-by: Landen Chao <landen.chao@mediatek.com>

Best regards,
landen
Vladimir Oltean Dec. 11, 2020, 7:11 p.m. UTC | #2
On Fri, Dec 11, 2020 at 01:03:22AM +0800, DENG Qingfang wrote:
> MT7530 has a global RX length register, so we are actually changing its
> MRU.
> Enable MTU normalization for this reason.
>
> Signed-off-by: DENG Qingfang <dqfext@gmail.com>
> ---

Makes sense. Since it's global and not per port, this also helps the
stack to be aware of the fact that all bridged interfaces have the same
MTU. We could probably do a little bit better by also informing the
standalone interfaces about the updated MTU, but since the value that we
program into the standalone ports is >= than what the stack knows about,
there isn't an issue really.

Reviewed-by: Vladimir Oltean <olteanv@gmail.com>

>  drivers/net/dsa/mt7530.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/drivers/net/dsa/mt7530.c b/drivers/net/dsa/mt7530.c
> index 99bf8fed6536..a67cac15a724 100644
> --- a/drivers/net/dsa/mt7530.c
> +++ b/drivers/net/dsa/mt7530.c
> @@ -1657,6 +1657,7 @@ mt7530_setup(struct dsa_switch *ds)
>  	 */
>  	dn = dsa_to_port(ds, MT7530_CPU_PORT)->master->dev.of_node->parent;
>  	ds->configure_vlan_while_not_filtering = true;
> +	ds->mtu_enforcement_ingress = true;
>
>  	if (priv->id == ID_MT7530) {
>  		regulator_set_voltage(priv->core_pwr, 1000000, 1000000);
> @@ -1895,6 +1896,7 @@ mt7531_setup(struct dsa_switch *ds)
>  	}
>
>  	ds->configure_vlan_while_not_filtering = true;
> +	ds->mtu_enforcement_ingress = true;
>
>  	/* Flush the FDB table */
>  	ret = mt7530_fdb_cmd(priv, MT7530_FDB_FLUSH, NULL);
> --
> 2.25.1
>
Jakub Kicinski Dec. 13, 2020, 1:01 a.m. UTC | #3
On Fri, 11 Dec 2020 01:03:22 +0800 DENG Qingfang wrote:
> MT7530 has a global RX length register, so we are actually changing its
> MRU.
> Enable MTU normalization for this reason.
> 
> Signed-off-by: DENG Qingfang <dqfext@gmail.com>

Applied, thanks and thanks for the reviews.
diff mbox series

Patch

diff --git a/drivers/net/dsa/mt7530.c b/drivers/net/dsa/mt7530.c
index 99bf8fed6536..a67cac15a724 100644
--- a/drivers/net/dsa/mt7530.c
+++ b/drivers/net/dsa/mt7530.c
@@ -1657,6 +1657,7 @@  mt7530_setup(struct dsa_switch *ds)
 	 */
 	dn = dsa_to_port(ds, MT7530_CPU_PORT)->master->dev.of_node->parent;
 	ds->configure_vlan_while_not_filtering = true;
+	ds->mtu_enforcement_ingress = true;
 
 	if (priv->id == ID_MT7530) {
 		regulator_set_voltage(priv->core_pwr, 1000000, 1000000);
@@ -1895,6 +1896,7 @@  mt7531_setup(struct dsa_switch *ds)
 	}
 
 	ds->configure_vlan_while_not_filtering = true;
+	ds->mtu_enforcement_ingress = true;
 
 	/* Flush the FDB table */
 	ret = mt7530_fdb_cmd(priv, MT7530_FDB_FLUSH, NULL);