lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 28 Dec 2018 09:22:55 +0100
From:   Pavel Machek <pavel@....cz>
To:     Anderson Luiz Alves <alacn1@...il.com>
Cc:     andrew@...n.ch, vivien.didelot@...oirfairelinux.com,
        f.fainelli@...il.com, davem@...emloft.net, netdev@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 net] mv88e6060: disable hardware level MAC learning

On Fri 2018-11-30 21:58:36, Anderson Luiz Alves wrote:
> Disable hardware level MAC learning because it breaks station roaming.
> When enabled it drops all frames that arrive from a MAC address
> that is on a different port at learning table.
> 
> Signed-off-by: Anderson Luiz Alves <alacn1@...il.com>

Will not this effectively disable the hardware switching leading to
serious performance implications?

AFAICT the e6060 driver does not support ATU access from the kernel,
so we'll fall back to "all software" bridging....

								Pavel
> ---
> 
> Notes:
>     v2: Updated code comments.
>     v3: Sent with correct whitespaces.
> 
>  drivers/net/dsa/mv88e6060.c | 10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/net/dsa/mv88e6060.c b/drivers/net/dsa/mv88e6060.c
> index 65f10fec2..0b3e51f24 100644
> --- a/drivers/net/dsa/mv88e6060.c
> +++ b/drivers/net/dsa/mv88e6060.c
> @@ -116,8 +116,7 @@ static int mv88e6060_switch_reset(struct dsa_switch *ds)
>  	/* Reset the switch. */
>  	REG_WRITE(REG_GLOBAL, GLOBAL_ATU_CONTROL,
>  		  GLOBAL_ATU_CONTROL_SWRESET |
> -		  GLOBAL_ATU_CONTROL_ATUSIZE_1024 |
> -		  GLOBAL_ATU_CONTROL_ATE_AGE_5MIN);
> +		  GLOBAL_ATU_CONTROL_LEARNDIS);
>  
>  	/* Wait up to one second for reset to complete. */
>  	timeout = jiffies + 1 * HZ;
> @@ -142,13 +141,10 @@ static int mv88e6060_setup_global(struct dsa_switch *ds)
>  	 */
>  	REG_WRITE(REG_GLOBAL, GLOBAL_CONTROL, GLOBAL_CONTROL_MAX_FRAME_1536);
>  
> -	/* Enable automatic address learning, set the address
> -	 * database size to 1024 entries, and set the default aging
> -	 * time to 5 minutes.
> +	/* Disable automatic address learning.
>  	 */
>  	REG_WRITE(REG_GLOBAL, GLOBAL_ATU_CONTROL,
> -		  GLOBAL_ATU_CONTROL_ATUSIZE_1024 |
> -		  GLOBAL_ATU_CONTROL_ATE_AGE_5MIN);
> +		  GLOBAL_ATU_CONTROL_LEARNDIS);
>  
>  	return 0;
>  }

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

Download attachment "signature.asc" of type "application/pgp-signature" (182 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ