Hi,

Andrew Lunn <and...@lunn.ch> writes:

> From: Jamie Lentin <j...@lentin.co.uk>
>
> Without it, a mv88e6131 switch will not forward incoming unicast
> packets to the CPU port.
>
> Signed-off-by: Jamie Lentin <j...@lentin.co.uk>
> ---
>  drivers/net/dsa/mv88e6xxx/chip.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/dsa/mv88e6xxx/chip.c 
> b/drivers/net/dsa/mv88e6xxx/chip.c
> index 1d5f9576e62a..82d45165803c 100644
> --- a/drivers/net/dsa/mv88e6xxx/chip.c
> +++ b/drivers/net/dsa/mv88e6xxx/chip.c
> @@ -2490,11 +2490,11 @@ static int mv88e6xxx_setup_port(struct mv88e6xxx_chip 
> *chip, int port)
>       if (dsa_is_cpu_port(ds, port)) {
>               if (mv88e6xxx_has(chip, MV88E6XXX_FLAG_EDSA))
>                       reg |= PORT_CONTROL_FRAME_ETHER_TYPE_DSA |
> -                             PORT_CONTROL_FORWARD_UNKNOWN |
>                               PORT_CONTROL_FORWARD_UNKNOWN_MC;
>               else
>                       reg |= PORT_CONTROL_DSA_TAG;
> -             reg |= PORT_CONTROL_EGRESS_ADD_TAG;
> +             reg |= PORT_CONTROL_EGRESS_ADD_TAG |
> +                     PORT_CONTROL_FORWARD_UNKNOWN;
>       }
>       if (dsa_is_dsa_port(ds, port)) {
>               if (mv88e6xxx_6095_family(chip) ||
> -- 
> 2.8.1

Bits 2-3 in newer chips such as 6352 became an Egress Flooding Mode.
0x3 needs to be set to forward unknown unicast *and* multicast frames.

I'll extract that from the EDSA check and add flags for this mode
later. In the meantime, this works as a quick fix for 6131 and
compatibles.

Reviewed-by: Vivien Didelot <vivien.dide...@savoirfairelinux.com>

Thanks,

        Vivien

Reply via email to