mbox series

[RFC,net-next,00/14] net: dsa: management mode for bcm_sf2

Message ID 20190115194130.19896-1-f.fainelli@gmail.com
Headers show
Series net: dsa: management mode for bcm_sf2 | expand

Message

Florian Fainelli Jan. 15, 2019, 7:41 p.m. UTC
Hi all,

This patch series does a number of things in order to enable
management mode for bcm_sf2 (which could be easily extended to b53 with
proper testing later on). In order to get there, there were several use
cases that did not seem to be working correctly, such as:

- VLAN devices on top of switch ports not being member of a bridge, with
  other switch ports being bridged, with the bridge having VLAN
  filtering enabled.

- lack of multicast filtering by default on network ports which should
  be happening in order for the non-bridged DSA ports to behave strictly
  as Ethernet NICs with proper filering

- improper or even lack of MDB programming requests for network ports
  that are not part of a bridge, or when the bridge has multicast
  snooping turned off

Hopefully the changes to net/8021q and net/bridge are deemed acceptable.

Here are some of the uses cases that were tested after this patch series
(all commands are running on the device being tested) and
iperf/ping/etc. should be working for/after all steps:

echo "file drivers/net/dsa/b53/b53_common.c +p" > /sys/kernel/debug/dynamic_debug/control
echo 8 7 4 1 > /proc/sys/kernel/printk
killall udhcpc
ip addr flush dev gphy
ip link add dev br0 type bridge
echo 1 > /sys/class/net/br0/bridge/vlan_filtering
ip link set dev gphy master br0
udhcpc -i br0
ip ro add 226.94.1.1/32 dev br0
iperf -s -B 226.94.1.1 -u &
vconfig add rgmii_1 100
ifconfig rgmii_1.100 192.168.100.10
ping -c 5 192.168.100.1
ip ro add 226.95.1.2/32 dev rgmii_1.100
iperf -s -B 226.95.1.2 -u &
vconfig add br0 42
bridge vlan add vid 42 dev gphy
bridge vlan add vid 42 dev br0 self
ifconfig br0.42 192.168.42.2
ip ro add 226.96.1.3/32 dev br0.42

Florian Fainelli (14):
  net: bridge: multicast: Propagate br_mc_disabled_update() return
  net: dsa: b53: Fix default VLAN ID
  net: dsa: b53: Properly account for VLAN filtering
  net: systemport: Fix reception of BPDUs
  net: dsa: b53: Define registers for IGMP snooping
  net: dsa: b53: Add support for MDB
  net: dsa: Add ability to program multicast filter for CPU port
  net: dsa: Add ndo_vlan_rx_{add,kill}_vid implementation
  net: bridge: Propagate MC addresses with VID through switchdev
  net: vlan: Propagate MC addresses with VID through switchdev
  net: dsa: Make VLAN filtering use DSA notifiers
  net: dsa: Wire up multicast IGMP snooping attribute notification
  net: dsa: b53: Add support for toggling IGMP snooping
  net: dsa: bcm_sf2: Enable management mode

 drivers/net/dsa/b53/b53_common.c           | 219 ++++++++++++++++++---
 drivers/net/dsa/b53/b53_priv.h             |  14 +-
 drivers/net/dsa/b53/b53_regs.h             |  22 +++
 drivers/net/dsa/bcm_sf2.c                  |  56 ++++--
 drivers/net/dsa/bcm_sf2_regs.h             |   5 +
 drivers/net/ethernet/broadcom/bcmsysport.c |   4 +
 include/net/dsa.h                          |   2 +
 net/8021q/vlan_dev.c                       |  40 ++++
 net/bridge/br_device.c                     |  55 ++++++
 net/bridge/br_multicast.c                  |  19 +-
 net/dsa/dsa_priv.h                         |  22 ++-
 net/dsa/port.c                             |  42 ++--
 net/dsa/slave.c                            | 107 +++++++++-
 net/dsa/switch.c                           |  57 ++++++
 14 files changed, 607 insertions(+), 57 deletions(-)

Comments

David Miller Jan. 15, 2019, 9:29 p.m. UTC | #1
From: Florian Fainelli <f.fainelli@gmail.com>
Date: Tue, 15 Jan 2019 11:41:16 -0800

> This patch series does a number of things in order to enable
> management mode for bcm_sf2 (which could be easily extended to b53 with
> proper testing later on). In order to get there, there were several use
> cases that did not seem to be working correctly, such as:
> 
> - VLAN devices on top of switch ports not being member of a bridge, with
>   other switch ports being bridged, with the bridge having VLAN
>   filtering enabled.
> 
> - lack of multicast filtering by default on network ports which should
>   be happening in order for the non-bridged DSA ports to behave strictly
>   as Ethernet NICs with proper filering
> 
> - improper or even lack of MDB programming requests for network ports
>   that are not part of a bridge, or when the bridge has multicast
>   snooping turned off
> 
> Hopefully the changes to net/8021q and net/bridge are deemed acceptable.
> 
> Here are some of the uses cases that were tested after this patch series
> (all commands are running on the device being tested) and
> iperf/ping/etc. should be working for/after all steps:
 ...

At a high level these changes look good to me.