Thread (25 messages) 25 messages, 5 authors, 2012-08-16

Re: [patch net-next v2 00/15] net: introduce upper device lists and remove dev->master

From: Ben Hutchings <hidden>
Date: 2012-08-14 20:33:07
Also in: bridge, linux-s390, lkml, netdev

On Tue, 2012-08-14 at 16:19 -0400, Andy Gospodarek wrote:
On Tue, Aug 14, 2012 at 05:05:33PM +0200, Jiri Pirko wrote:
quoted
Hi all.

Recent discussion around
"[net-next] bonding: don't allow the master to become its slave"
forced me to think about upper<->lower device connections.

This patchset adds a possibility to record upper device linkage.
All upper<->lower devices are converted to use this mechanism right after.
That leads to dev->master removal because this info becomes redundant since
"unique links" have the same value.

After all changes, there is no longer possible to do:
"bond->someotherdevice->samebond"

Also I think that drivers like cxgb3, qlcnic, qeth would benefit by this
in future by being able to get more appropriate info about l3 addresses.

v1->v2:
- s/unique/master/ better naming + stays closer to the history
- fixed vlan err goto
- original patch 15 (WARN_ON change) is squashed into the first patch
- fixed netdev_unique_upper_dev_get_rcu() case of upper==NULL
I just started to review v1 when v2 came out, but luckily the changes
were not too significant that I need to start all over.

The first note is that I didn't like the use of the term 'upper' -- it
seems like 'stacked' might be a better alternative as these are stacked
devices.
When linking any two devices in a stack, one will be upper and the other
lower.  The lower device might itself be stacked on top of a further
device, so 'stacked' is not a useful distinguishing adjective in
variable names.  It might be a useful term in the commit messages and
kernel-doc, though.
One thing to note is that I don't see any clear changelog that states
the current goals for this.  You have stated in several places that it
will no longer be possible to create bonds of bonds, but there are
probably a few more things it might be wise to intentionally outlaw.

What about teams of teams?  Or teams of bonds?  Or bonds of teams?
Bonds of vlans?
[...]

It doesn't disallow bonds of bonds (unless I'm missing something).  It
disallows loops that involve any or all of those types of stacked
devices.

Ben.

-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help