netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/7] bridge: per-vlan stats
@ 2016-04-27 16:18 Nikolay Aleksandrov
  2016-04-27 16:18 ` [PATCH net-next 1/7] net: rtnetlink: allow rtnl_fill_statsinfo to save private state counter Nikolay Aleksandrov
                   ` (8 more replies)
  0 siblings, 9 replies; 13+ messages in thread
From: Nikolay Aleksandrov @ 2016-04-27 16:18 UTC (permalink / raw)
  To: netdev; +Cc: roopa, davem, stephen, jhs, Nikolay Aleksandrov

Hi,
This set adds support for bridge per-vlan statistics.
In order to be able to dump statistics we need a way to continue
dumping after reaching maximum size, thus patches 01-03 extend the new
stats API with a per-device extended link stats attribute and callback
which can save its local state and continue where it left off afterwards.
I considered using the already existing "fill_xstats" callback but it gets
confusing since we need to separate the linkinfo dump from the new stats
api dump and adding a flag/argument to do that just looks messy. I don't
think the rtnl_link_ops size is an issue, so adding these seemed like the
cleaner approach.

Patch 05 converts the pvid to a pointer so we can consolidate the vlan
stats accounting paths later, also allows to simplify the pvid code.
Patches 06 and 07 add the stats support and netlink dump support
respectively.
I've tested this set with both old and modified iproute2, kmemleak on and
some traffic stress tests while adding/removing vlans and ports.

Thank you,
 Nik

Note: Jamal I haven't forgotten about the per-port per-vlan stats, I've got
a follow-up patch that adds it. You can easily see that the infrastructure
for private port/vlan stats is in place after this set. Though the stats
api will need some more changes to support that.


Nikolay Aleksandrov (7):
  net: rtnetlink: allow rtnl_fill_statsinfo to save private state
    counter
  net: rtnetlink: allow only one idx saving stats attribute
  net: rtnetlink: add linkxstats callbacks and attribute
  net: constify is_skb_forwardable's arguments
  bridge: vlan: RCUify pvid
  bridge: vlan: learn to count
  bridge: netlink: export per-vlan stats

 include/linux/netdevice.h      |   3 +-
 include/net/rtnetlink.h        |  10 +++
 include/uapi/linux/if_bridge.h |   8 +++
 include/uapi/linux/if_link.h   |   9 +++
 net/bridge/br_netlink.c        |  80 ++++++++++++++++++++----
 net/bridge/br_private.h        |  32 +++++-----
 net/bridge/br_vlan.c           | 134 +++++++++++++++++++++++++++++------------
 net/core/dev.c                 |   2 +-
 net/core/rtnetlink.c           |  64 +++++++++++++++++---
 9 files changed, 266 insertions(+), 76 deletions(-)

-- 
2.4.11

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2016-04-28  8:43 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-27 16:18 [PATCH net-next 0/7] bridge: per-vlan stats Nikolay Aleksandrov
2016-04-27 16:18 ` [PATCH net-next 1/7] net: rtnetlink: allow rtnl_fill_statsinfo to save private state counter Nikolay Aleksandrov
2016-04-27 16:18 ` [PATCH net-next 2/7] net: rtnetlink: allow only one idx saving stats attribute Nikolay Aleksandrov
2016-04-28  5:18   ` Roopa Prabhu
2016-04-28  8:40     ` Nikolay Aleksandrov
2016-04-27 16:18 ` [PATCH net-next 3/7] net: rtnetlink: add linkxstats callbacks and attribute Nikolay Aleksandrov
2016-04-27 16:18 ` [PATCH net-next 4/7] net: constify is_skb_forwardable's arguments Nikolay Aleksandrov
2016-04-27 16:18 ` [PATCH net-next 5/7] bridge: vlan: RCUify pvid Nikolay Aleksandrov
2016-04-27 16:18 ` [PATCH net-next 6/7] bridge: vlan: learn to count Nikolay Aleksandrov
2016-04-27 16:18 ` [PATCH net-next 7/7] bridge: netlink: export per-vlan stats Nikolay Aleksandrov
2016-04-27 17:06 ` [PATCH net-next 0/7] bridge: " Stephen Hemminger
2016-04-27 17:13   ` Nikolay Aleksandrov
2016-04-28  8:43 ` Nikolay Aleksandrov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).