From: Mathieu Olivari <mathieu@codeaurora.org>
To: Andrew Lunn <andrew@lunn.ch>
Cc: netdev@vger.kernel.org, linux@roeck-us.net, jogo@openwrt.org,
f.fainelli@gmail.com
Subject: Re: RFC: dsa: add support for multiple CPU ports
Date: Tue, 10 Mar 2015 13:42:28 -0700 [thread overview]
Message-ID: <20150310204021.GA2740@codeaurora.org> (raw)
In-Reply-To: <20150310193151.GE10838@lunn.ch>
On Tue, Mar 10, 2015 at 08:31:51PM +0100, Andrew Lunn wrote:
> > The third point would allow to perform operations currently limited to switch
> > ports. Typically, "ethtool -S eth0" could return the corresponding port's MIB
> > statistics in addition to the eth0 statistics.
>
> Hi Mathieu
>
> This already works with DSA. I have a WRT1900AC which has a 7 port
> switch. With DSA i have:
>
> # ip link show
> 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
> link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
> 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 532
> link/ether 94:10:3e:80:bc:f3 brd ff:ff:ff:ff:ff:ff
> 3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 532
> link/ether 52:33:3a:a7:c1:8a brd ff:ff:ff:ff:ff:ff
> 4: lan4@eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default
> link/ether 94:10:3e:80:bc:f3 brd ff:ff:ff:ff:ff:ff
> 5: lan3@eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default
> link/ether 94:10:3e:80:bc:f3 brd ff:ff:ff:ff:ff:ff
> 6: lan2@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default
> link/ether 94:10:3e:80:bc:f3 brd ff:ff:ff:ff:ff:ff
> 7: lan1@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default
> link/ether 94:10:3e:80:bc:f3 brd ff:ff:ff:ff:ff:ff
> 8: internet@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default
> link/ether 94:10:3e:80:bc:f3 brd ff:ff:ff:ff:ff:ff
>
> internet would be your WAN port in your diagram. I just named it the
> same as the label on the case.
>
> I can get MIB statistics in the normal way for the DSA ports, e.g:
>
> root@wrt1900ac:~# ethtool -S lan1
> NIC statistics:
> tx_packets: 153009
> tx_bytes: 13307317
> rx_packets: 161136
> rx_bytes: 21840683
> ...
>
> Andrew
>
>
I was thinking about the MIB counters, maintained by the switch, on the CPU
port(s).
On this picture:
+-----------+ +--------------------+
| | RGMII | |
| eth0+-------+ P0 P1 +------ 1000baseT MDI ("WAN")
| wan| | 7-port P2 +------ 1000baseT MDI ("LAN1")
| CPU | | ethernet P3 +------ 1000baseT MDI ("LAN2")
| | RGMII | switch P4 +------ 1000baseT MDI ("LAN3")
| eth1+-------+ P6 w/5 PHYs P5 +------ 1000baseT MDI ("LAN4")
| lan| | |
+-----------+ +--------------------+
| MDIO |
\------------/
We can see MIB stats of P1/P2/P3/P4/P5 by using ethtool -S. But as CPU
ports don't have a net_device, there isn't a way to access MIB stats of
P0 & P6.
If we have the eth0 <--> P0 and eth1 <--> P6 relationship information in dts,
we could use it to lookup which switch port is connected to this net_dev and
show the corresponding counters when running "ethtool -S ethN".
next prev parent reply other threads:[~2015-03-10 20:42 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-10 19:01 RFC: dsa: add support for multiple CPU ports Mathieu Olivari
2015-03-10 19:21 ` Andrew Lunn
2015-03-10 22:13 ` Mathieu Olivari
2015-03-10 22:50 ` Andrew Lunn
2015-03-10 19:31 ` Andrew Lunn
2015-03-10 20:42 ` Mathieu Olivari [this message]
2015-03-10 21:13 ` Andrew Lunn
2015-03-10 22:53 ` Mathieu Olivari
2015-03-11 1:47 ` David Miller
2015-03-11 13:07 ` Jiri Pirko
2015-03-11 0:01 ` Florian Fainelli
2015-03-11 1:18 ` Mathieu Olivari
2015-03-11 13:30 ` Andrew Lunn
2015-03-11 23:37 ` Mathieu Olivari
2015-03-12 0:19 ` Andrew Lunn
2015-03-13 1:57 ` Mathieu Olivari
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=20150310204021.GA2740@codeaurora.org \
--to=mathieu@codeaurora.org \
--cc=andrew@lunn.ch \
--cc=f.fainelli@gmail.com \
--cc=jogo@openwrt.org \
--cc=linux@roeck-us.net \
--cc=netdev@vger.kernel.org \
/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.