diff mbox series

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

Message ID 20201210170322.3433-1-dqfext@gmail.com (mailing list archive)
State Accepted
Delegated to: Netdev Maintainers
Headers show
Series [net-next] net: dsa: mt7530: enable MTU normalization | expand

Checks

Context Check Description
netdev/cover_letter success Link
netdev/fixes_present success Link
netdev/patch_count success Link
netdev/tree_selection success Clearly marked for net-next
netdev/subject_prefix success Link
netdev/source_inline success Was 0 now: 0
netdev/verify_signedoff success Link
netdev/module_param success Was 0 now: 0
netdev/build_32bit success Errors and warnings before: 0 this patch: 0
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/verify_fixes success Link
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 14 lines checked
netdev/build_allmodconfig_warn success Errors and warnings before: 0 this patch: 0
netdev/header_inline success Link
netdev/stable success Stable not CCed

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);