All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ido Schimmel <idosch@mellanox.com>
To: Andrew Lunn <andrew@lunn.ch>
Cc: Murali Karicheri <m-karicheri2@ti.com>,
	David Miller <davem@davemloft.net>, <sfeldma@gmail.com>,
	<netdev@vger.kernel.org>, <jiri@resnulli.us>
Subject: Re: [PATCH net-next v3] rocker: add debugfs support to dump internal tables
Date: Thu, 17 Mar 2016 23:53:14 +0200	[thread overview]
Message-ID: <20160317215314.GA4925@colbert.idosch.org> (raw)
In-Reply-To: <20160317202519.GA30210@lunn.ch>

Thu, Mar 17, 2016 at 10:25:19PM IST, andrew@lunn.ch wrote:
>On Thu, Mar 17, 2016 at 04:10:31PM -0400, Murali Karicheri wrote:
>> David,
>> 
>> On 08/18/2015 04:47 PM, David Miller wrote:
>> > I see some drivers where the foo_debugfs.c file is larger than the rest
>> > of the driver.  Once people start using it, it's like crack, and they
>> > dump every single debugging widget they found useful at some point into
>> > there.
>> > 
>> > This is not what we want.  Most things I see in debugfs support was
>> > probably useful for debugging one particular bug but then it was never
>> > really useful again in the future.  Those kinds of things can be done
>> > locally in someone's tree.
>> > 
>> > I often see various kinds of "statistics" ending up in these things,
>> > or register dumps, both of which are 'ethtool' or similar material.
>> Very late to this discussion, but I need to port some of the internal code
>> to display the content of a ALE (Address Learning Engine) table maintained
>> in hardwareat L2 layer. Currently I have a sysfs implementation that dumps
>> information like below.
>> 
>> root@k2e-evm:~# cat /sys/devices/platform/soc/2620110.netcp/ale_table
>> index 0, raw: 000007fc d000ffff ffffffff, type: addr(1), addr: ff:ff:ff:ff:ff:ff, mcstate: f(3), port mask: 1ff, no super
>> index 1, raw: 00000000 10000800 28329a1c, type: addr(1), addr: 08:00:28:32:9a:1c, uctype: persistent(0), port: 0
>> index 2, raw: 000007fc d0000100 5e000001, type: addr(1), addr: 01:00:5e:00:00:01, mcstate: f(3), port mask: 1ff, no super
>> index 19, raw: 00000004 d000d4be d93db6c1, type: addr(1), addr: d4:be:d9:3d:b6:c1, uctype: touched(3), port: 1
>> 
>> What is the available interface in kernel to expose this information
>> to user space as debugfs is not suggested based on this thread?
>
>This looks a lot like what the mv88e6xxx_port_fdb_dump() callback
>returns to DSA when SWITCHDEV_OBJ_ID_PORT_FDB is passed to
>switchdev_port_obj_dump() in the switchdev ops.

+1

Also, Murali, using standard interfaces instead of debugfs will allow
you to:

1) Upstream your code
2) Use existing tests for your code. In particular, the following
(which is used for mlxsw testing):

https://github.com/jpirko/lnst/blob/master/recipes/switchdev/l2-002-bridge_fdb.py

There are a bunch of others there which you'll probably find useful.

BTW, are you familiar with the following document?
https://www.kernel.org/doc/Documentation/networking/switchdev.txt
I believe it answers your question.

Good luck!

>
>	  Andrew

  parent reply	other threads:[~2016-03-17 22:09 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-17 22:36 [PATCH net-next v3] rocker: add debugfs support to dump internal tables sfeldma
2015-08-18  5:55 ` Jiri Pirko
2015-08-18  6:14   ` Scott Feldman
2015-08-18  6:48     ` Jiri Pirko
2015-08-18  7:21       ` Scott Feldman
2015-08-18  7:52         ` Jiri Pirko
2015-08-18 18:42   ` David Miller
2015-08-18 14:01 ` Andrew Lunn
2015-08-18 17:18   ` Scott Feldman
2015-08-18 18:19     ` Andrew Lunn
2015-08-18 20:37       ` Scott Feldman
2015-08-18 20:47         ` David Miller
2015-08-19 19:46           ` Scott Feldman
2016-03-17 20:10           ` Murali Karicheri
2016-03-17 20:25             ` Andrew Lunn
2016-03-17 20:48               ` Murali Karicheri
2016-03-17 23:18                 ` Florian Fainelli
2016-03-18 17:29                   ` Murali Karicheri
2016-03-17 21:53               ` Ido Schimmel [this message]
2016-03-18 17:25                 ` Murali Karicheri
2016-03-17 20:56             ` Florian Fainelli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160317215314.GA4925@colbert.idosch.org \
    --to=idosch@mellanox.com \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=jiri@resnulli.us \
    --cc=m-karicheri2@ti.com \
    --cc=netdev@vger.kernel.org \
    --cc=sfeldma@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.