Thread (9 messages) 9 messages, 4 authors, 2011-01-20

Re: [PATCH v3 0/2] net: add device groups

flat view

From: Stephen Hemminger <hidden>
Date: 2011-01-14 16:08:13

On Fri, 14 Jan 2011 11:38:29 +0200
Vlad Dogaru [off-list ref] wrote:
This patchset implements network device grouping and simple manipulation
of groups. Netlink has been updated to provide group information and
means of applying changes to members of a specific group via a single
message.

The patchset has a corresponding one for iproute2, which implements the
new functionality in userspace.

Some basic testing, using 1024 dummy network interfaces (all of them in
group 0):

# time { for i in `seq 0 1023`; do ip l s dev dummy$i up; done }

real	0m7.70s
user	0m0.36s
sys	0m4.85s

# time ip l s devgroup 0 up

real	0m0.14s
user	0m0.00s
sys	0m0.14s

# time { for i in `seq 0 1023`; do ip l s dev dummy$i mtu 2000; done }

real	0m7.43s
user	0m0.48s
sys	0m4.72s

# time ip l s devgroup 0 mtu 2000

real	0m0.02s
user	0m0.00s
sys	0m0.02s

Improvement stems both from less user-kernel communication and from less
processes being created.

Changes since version 2:
 * fix net_device field type (should be int, not unsigned int).
 * fix typo in commit message.

Changes since version 1:
 * we avoid adding a new attribute type by using the following
   convention: if no device name is specified, the interface index is
   negative, and there is a group specified, we change parameters for
   the whole group.
 * the dummy module is no longer modified to include an initial group
   for the devices it creates. The user is responsible for moving them
   to a different group by means of the provided netlink interface.

Vlad Dogaru (2):
  net_device: add support for network device groups
  netlink: support setting devgroup parameters

 include/linux/if_link.h   |    1 +
 include/linux/netdevice.h |    7 +++++++
 net/core/dev.c            |   12 ++++++++++++
 net/core/rtnetlink.c      |   38 ++++++++++++++++++++++++++++++++++----
 4 files changed, 54 insertions(+), 4 deletions(-)
What about a read/write sysfs interface as well?
  /sys/class/net/eth0/devgroup

Not sure if numeric devgroup is best choice. Since this is more of
a human interface parameter maybe it should be a string? Or have
a translation in the utilities /etc/iproute2/devgroup?



-- 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help