Thread (20 messages) 20 messages, 3 authors, 2016-07-08

Re: [patch net-next v5 0/4] return offloaded stats as default and expose original sw stats

flat view

From: Roopa Prabhu <hidden>
Date: 2016-06-25 15:51:02

On Thu, Jun 23, 2016 at 8:40 AM, Jiri Pirko [off-list ref] wrote:
Thu, Jun 23, 2016 at 05:11:26PM CEST, anuradhak@cumulusnetworks.com wrote:
quoted
quoted
quoted
quoted
quoted
we can't separate CPU and HW stats there. In some cases (or ASICs) HW
counters do
not include CPU generated packets....you will have to add CPU
generated pkt counters to the
hw counters for such virtual device stats.
Can you please provide and example how that could happen?
example is the bridge vlan stats I mention below. These are usually counted
by attaching hw virtual counter resources. And CPU generated packets
in some cases maybe setup to bypass the ASIC pipeline because the CPU
has already made the required decisions. So, they may not be counted by
by such hw virtual counters.
Bypass ASIC? How do the packets get on the wire?
Bypass the "forwarding pipeline" in the ASIC that is. Obviously the
ASIC ships the CPU generated packet out of the switch/front-panel
port. Continuing Roopa's example of vlan netdev stats.... To get the
HW stats counters are typically tied to the ingress and egress vlan hw
entries. All the incoming packets are subject to the ingress vlan
lookup irrespective of whether they get punted to the CPU or whether
they are forwarded to another front panel port. In that case the
ingress HW stats does represent all packets. However for CPU
originated packets egress vlan lookups are bypassed in the ASIC (this
is common forwarding option in most ASICs) and the packet shipped as
is out of front-panel port specified by the CPU. Which means these
packets will NOT be counted against the egress VLAN HW counter; hence
the need for summation.
Driver will know about this, and will provide the stats accordignly to
the core. Who else than driver should resolve this.
The point was/is that there should be only two categories:
1) the base default stats: can contain 'only sw', 'only hw' or 'a
summation of hw and sw' in some cases.
The user does not care about the breakdown.

2) everything else falls into the second category: driver provided
breakdown of stats for easier debugging.
This today is ethtool stats and we can have an equivalent nested
attribute for this in the new stats api.
Lets call it IFLA_STATS_LINK_DRIVER or you pick a name. Lets make it
nested and extensible (like ethtool is) and
driver can expose any kind of stats there.
ie lets move the stats you are proposing to this category of stats.....
instead of introducing a third category 'SW stats'.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help