lkml.org 
[lkml]   [2017]   [Aug]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH net-next v2 00/10] net: dsa: add generic debugfs interface
    Date
    This patch series adds a generic debugfs interface for the DSA
    framework, so that all switch devices benefit from it, e.g. Marvell,
    Broadcom, Microchip or any other DSA driver.

    This is really convenient for debugging, especially CPU ports and DSA
    links which are not exposed to userspace as net device. This interface
    is currently the only way to easily inspect the hardware for such ports.

    With the patch series, any switch device user is able to query the
    hardware for the supported tagging protocol, the ports stats and
    registers, as well as their FDB, MDB and VLAN entries.

    This support is only compiled if CONFIG_DEBUG_FS is enabled. Below is
    and example of usage of this interface on a multi-chip switch fabric:

    # mount -t debugfs none /sys/kernel/debug
    # cd /sys/kernel/debug/dsa/
    # ls
    switch0 switch1 switch2
    # ls -l switch0/
    drwxr-xr-x 2 root root 0 Jan 1 00:00 port0
    drwxr-xr-x 2 root root 0 Jan 1 00:00 port1
    drwxr-xr-x 2 root root 0 Jan 1 00:00 port2
    drwxr-xr-x 2 root root 0 Jan 1 00:00 port5
    drwxr-xr-x 2 root root 0 Jan 1 00:00 port6
    -r--r--r-- 1 root root 0 Jan 1 00:00 tag_protocol
    -r--r--r-- 1 root root 0 Jan 1 00:00 tree
    # ls -l switch0/port6
    -r--r--r-- 1 root root 0 Jan 1 00:00 fdb
    -r--r--r-- 1 root root 0 Jan 1 00:00 mdb
    -r--r--r-- 1 root root 0 Jan 1 00:00 regs
    -r--r--r-- 1 root root 0 Jan 1 00:00 stats
    -r--r--r-- 1 root root 0 Jan 1 00:00 vlan
    # cat switch0/port2/vlan
    vid 42 untagged pvid
    # cat switch0/port1/fdb
    vid 0 12:34:56:78:90:ab unicast static
    # pr -mt switch0/port{5,6}/stats
    in_good_octets : 0 in_good_octets : 13824
    in_bad_octets : 0 in_bad_octets : 0
    in_unicast : 0 in_unicast : 0
    in_broadcasts : 0 in_broadcasts : 216
    in_multicasts : 0 in_multicasts : 0
    in_pause : 0 in_pause : 0
    in_undersize : 0 in_undersize : 0
    ...
    # pr -mt switch0/port{5,6}/regs
    0: 4e07 0: 4d04
    1: 403e 1: 003d
    2: 0000 2: 0000
    3: 3521 3: 3521
    4: 0533 4: 373f
    5: 8000 5: 0000
    6: 005f 6: 003f
    7: 002a 7: 002a
    ...

    where switch0 port5 and port6 are CPU and DSA ports of a ZII Rev B.

    Changes in v2:
    - KISS, drop the WARN_ON if !dst->applied
    - use ds->enabled_port_mask instead of OF nodes
    - add a tag protocol to string helper
    - use %pM to print MAC addresses
    - explicit "tagged" VLANs

    Vivien Didelot (10):
    net: dsa: add debugfs interface
    net: dsa: debugfs: add tree
    net: dsa: debugfs: add tag_protocol
    net: dsa: debugfs: add port stats
    net: dsa: debugfs: add port regs
    net: dsa: debugfs: add port fdb
    net: dsa: restore mdb dump
    net: dsa: debugfs: add port mdb
    net: dsa: restore VLAN dump
    net: dsa: debugfs: add port vlan

    drivers/net/dsa/b53/b53_common.c | 41 ++++
    drivers/net/dsa/b53/b53_priv.h | 2 +
    drivers/net/dsa/bcm_sf2.c | 1 +
    drivers/net/dsa/dsa_loop.c | 38 +++
    drivers/net/dsa/microchip/ksz_common.c | 41 ++++
    drivers/net/dsa/mv88e6xxx/chip.c | 82 ++++++-
    include/net/dsa.h | 41 ++++
    net/dsa/Kconfig | 14 ++
    net/dsa/Makefile | 1 +
    net/dsa/debugfs.c | 409 +++++++++++++++++++++++++++++++++
    net/dsa/dsa.c | 3 +
    net/dsa/dsa2.c | 4 +
    net/dsa/dsa_priv.h | 13 ++
    net/dsa/legacy.c | 4 +
    14 files changed, 686 insertions(+), 8 deletions(-)
    create mode 100644 net/dsa/debugfs.c

    --
    2.14.1

    \
     
     \ /
      Last update: 2017-08-28 21:22    [W:2.516 / U:0.056 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site