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

From: Jiri Pirko
Date: Wed Aug 15 2012 - 03:30:55 EST


Tue, Aug 14, 2012 at 10:32:53PM CEST, bhutchings@xxxxxxxxxxxxxx wrote:
>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.

Exactly. It's every "upper driver" responsibility to check which device
it allows to be added as lower.

>
>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/