Hi Andrew,

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

> On Mon, Sep 19, 2016 at 07:56:11PM -0400, Vivien Didelot wrote:
>> An address can be loaded in the ATU with multiple ports, for instance
>> when adding multiple ports to a Multicast group with "bridge mdb".
>>
>> The current code doesn't allow that. Add an helper to get a single entry
>> from the ATU, then set or clear the requested port, before loading the
>> entry back in the ATU.
>>
>> Note that the required _mv88e6xxx_atu_getnext function is defined below
>> mv88e6xxx_port_db_load_purge, so forward-declare it for the moment. The
>> ATU code will be isolated in future patches.
>>
>> Fixes: 83dabd1fa84c ("net: dsa: mv88e6xxx: make switchdev DB ops generic")
>
> Is this a real fixes? You don't make it clear what goes wrong. I
> assume adding the same MAC address for a second time but for a
> different port removes the first entry for the old port?

Yes, this is what happens, sorry for the bad message. Below is an
example with the relevant hardware bits.

Here's the current behavior, without this patch:

    # bridge mdb add dev br0 port lan0 grp 238.39.20.86

    FID  MAC Addr                  State         Trunk?  DPV/Trunk ID
    0    01:00:5e:27:14:56         MC_STATIC       n     0 - - - - - -

    # bridge mdb add dev br0 port lan2 grp 238.39.20.86

    FID  MAC Addr                  State         Trunk?  DPV/Trunk ID
    0    01:00:5e:27:14:56         MC_STATIC       n     - - 2 - - - - 

Here's the new behavior, with this patch:

    # bridge mdb add dev br0 port lan0 grp 238.39.20.86

    FID  MAC Addr                  State         Trunk?  DPV/Trunk ID
    0    01:00:5e:27:14:56         MC_STATIC       n     0 - - - - - -

    # bridge mdb add dev br0 port lan2 grp 238.39.20.86

    FID  MAC Addr                  State         Trunk?  DPV/Trunk ID
    0    01:00:5e:27:14:56         MC_STATIC       n     0 - 2 - - - -

Thanks!

        Vivien

Reply via email to