Messages in this thread | | | Subject | Re: [RFC PATCH net-next 0/4] net: ethernet: ti: cpsw: fix vlan mcast | From | Grygorii Strashko <> | Date | Tue, 16 Oct 2018 14:38:33 -0500 |
| |
On 10/16/2018 01:20 PM, Ivan Khoronzhuk wrote: > The cpsw holds separate mcast entires for vlan entries. At this moment > driver adds only not vlan mcast addresses, omitting vlan/mcast entries. > As result mcast for vlans doesn't work. It can be fixed by adding same > mcast entries for every created vlan, but this patchseries uses more > sophisticated way and allows to create mcast entries only for vlans > that really require it. Generic functions from this series can be > reused for fixing vlan and macvlan unicast.
I assume this is first of all for dual_mac mode.
> > Simple example of ALE table before and after this series, having same > mcast entries as for vlan 100 as for real device (reserved vlan 2), > and one mcast address only for vlan 100 - 01:1b:19:00:00:00. > [...]
> vlan , vid = 100, untag_force = 0x0, reg_mcast = 0x5, mem_list = 0x5 > ucast, vid = 100, addr = 74:da:ea:47:7d:9d, persistant, port_num = 0x0 > mcast, vid = 100, addr = ff:ff:ff:ff:ff:ff, port_mask = 0x1 > mcast, vid = 100, addr = 33:33:00:00:00:01, port_mask = 0x1 > mcast, vid = 100, addr = 01:00:5e:00:00:01, port_mask = 0x1 > mcast, vid = 100, addr = 33:33:ff:47:7d:9d, port_mask = 0x1 > mcast, vid = 100, addr = 01:80:c2:00:00:00, port_mask = 0x1 > mcast, vid = 100, addr = 01:80:c2:00:00:03, port_mask = 0x1 > mcast, vid = 100, addr = 01:80:c2:00:00:0e, port_mask = 0x1 > mcast, vid = 100, addr = 33:33:00:00:00:fb, port_mask = 0x1 > mcast, vid = 100, addr = 33:33:00:01:00:03, port_mask = 0x1 > mcast, vid = 100, addr = 01:1b:19:00:00:00, port_mask = 0x1 > ^^^ > Here mcast entry (ptpl2), is added only for vlan 100 > as it should be. > > Based on net-next/master
Thank you. For patches 2-4 Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
For patch 1 - I'm not sure, so it'd good to get more comments.
> > Ivan Khoronzhuk (4): > net: core: dev_addr_lists: add auxiliary func to handle reference > address updates > net: 8021q: vlan_core: allow use list of vlans for real device > net: ethernet: ti: cpsw: fix vlan mcast > net: ethernet: ti: cpsw: fix vlan configuration while down/up > > drivers/net/ethernet/ti/cpsw.c | 189 +++++++++++++++++++++++++++------ > include/linux/if_vlan.h | 10 ++ > include/linux/netdevice.h | 10 ++ > net/8021q/vlan_core.c | 27 +++++ > net/core/dev_addr_lists.c | 97 +++++++++++++++++ > 5 files changed, 303 insertions(+), 30 deletions(-) >
-- regards, -grygorii
| |