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

From: Ben Hutchings
Date: Tue Aug 14 2012 - 16:33:00 EST


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:
> > 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.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/