From: Jiri Pirko <jiri@resnulli.us>
To: Ben Greear <greearb@candelatech.com>
Cc: netdev@vger.kernel.org, davem@davemloft.net, edumazet@google.com,
bhutchings@solarflare.com, faisal.latif@intel.com,
shemminger@vyatta.com, fbl@redhat.com, roland@kernel.org,
sean.hefty@intel.com, hal.rosenstock@gmail.com, fubar@us.ibm.com,
andy@greyhouse.net, divy@chelsio.com,
jitendra.kalsaria@qlogic.com, sony.chacko@qlogic.com,
linux-driver@qlogic.com, kaber@trash.net,
ursula.braun@de.ibm.com, blaschka@linux.vnet.ibm.com,
schwidefsky@de.ibm.com, heiko.carstens@de.ibm.com,
ebiederm@xmission.com, joe@perches.com, amwang@redhat.com,
nhorman@tuxdriver.com, john.r.fastabend@intel.com,
pablo@netfilter.org
Subject: Re: [patch net-next 01/15] net: introduce upper device lists
Date: Sun, 30 Dec 2012 23:08:50 +0100 [thread overview]
Message-ID: <20121230220850.GE1575@minipsycho.orion> (raw)
In-Reply-To: <50E0814A.3090100@candelatech.com>
Sun, Dec 30, 2012 at 07:00:42PM CET, greearb@candelatech.com wrote:
>On 12/30/2012 03:58 AM, Jiri Pirko wrote:
>>This lists are supposed to serve for storing pointers to all upper devices.
>>Eventually it will replace dev->master pointer which is used for
>>bonding, bridge, team but it cannot be used for vlan, macvlan where
>>there might be multiple upper present. In case the upper link is
>>replacement for dev->master, it is marked with "master" flag.
>
>This is confusing and full of grammatical errors. For instance, the 'it'
>in "team but it cannot be used"...you are talking about the list this
>patch introduces, or the old dev->master?
Sorry for my grammar, it stinks...
dev->master cannot be used for for vlan, macvlan. More upper devices
might be present for this type of devices and dev->master would not cover it.
So, In case there is only *one* upper device, "master" flag is used.
I Hope I cleared this one for you.
>
>>
>>New upper device list resolves this limitation. Also, the information
>>stored in lists is used for preventing looping setups like
>>"bond->somethingelse->samebond"
>>
>>Signed-off-by: Jiri Pirko <jiri@resnulli.us>
>>---
>> include/linux/netdevice.h | 14 +++
>> net/core/dev.c | 237 +++++++++++++++++++++++++++++++++++++++++++++-
>> 2 files changed, 247 insertions(+), 4 deletions(-)
>>
>>diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
>>index 6835b58..52d1146 100644
>>--- a/include/linux/netdevice.h
>>+++ b/include/linux/netdevice.h
>>@@ -1172,6 +1172,8 @@ struct net_device {
>> * which this device is member of.
>> */
>>
>>+ struct list_head upper_dev_list; /* List of upper devices */
>>+
>
>Unless I mis-understand, this is often contains 'lower' devices instead,
>and could contain a mixture.
>Maybe this could use a rename, or at least a lot more comments?
I'm terribly sorry, but I believe this is the case when I do not
understand your grammar. For example "this is often contains 'lower'
devices instead".
But in any case, no, list of upper devices contains only "upper" devices.
Meaning the set of devices which are using the original one as "lower".
Never the other way.
And to reply to your comment to patch "[patch net-next 04/15] rtnetlink:
remove usage of dev->master" as well:
upper dev is the device that is somehow using the lower dev for its
work. For bonding, you may call that lower device "slave", for bridge,
"port". And macvlan is also linked to it's lower device, the one on what
it is hooked on by rx_handler.
I hope this clears this for you a bit.
Thanks
Jiri.
>
>Thanks,
>Ben
>
>--
>Ben Greear <greearb@candelatech.com>
>Candela Technologies Inc http://www.candelatech.com
>
>
next prev parent reply other threads:[~2012-12-30 22:08 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-30 11:58 [patch net-next V4 00/15] net: introduce upper device lists and remove dev->master Jiri Pirko
2012-12-30 11:58 ` [patch net-next 01/15] net: introduce upper device lists Jiri Pirko
2012-12-30 18:00 ` Ben Greear
2012-12-30 22:08 ` Jiri Pirko [this message]
2012-12-31 4:56 ` Stephen Hemminger
2012-12-31 9:55 ` Jiri Pirko
2012-12-31 19:22 ` Stephen Hemminger
2013-01-01 1:04 ` Jiri Pirko
2012-12-30 11:58 ` [patch net-next 02/15] macvlan: add link to upper device Jiri Pirko
2012-12-30 11:58 ` [patch net-next 03/15] vlan: " Jiri Pirko
2012-12-30 11:58 ` [patch net-next 04/15] rtnetlink: remove usage of dev->master Jiri Pirko
2012-12-30 18:00 ` Ben Greear
2012-12-30 11:58 ` [patch net-next 05/15] team: remove usage of netdev_set_master() Jiri Pirko
2012-12-30 11:58 ` [patch net-next 06/15] bridge: " Jiri Pirko
2012-12-30 11:58 ` [patch net-next 07/15] netpoll: remove usage of dev->master Jiri Pirko
2012-12-30 11:58 ` [patch net-next 08/15] cxgb3: " Jiri Pirko
2012-12-30 11:58 ` [patch net-next 09/15] qlcnic: guard __vlan_find_dev_deep() by rcu_read_lock Jiri Pirko
2012-12-30 11:58 ` [patch net-next 10/15] qeth: ensure that __vlan_find_dev_deep() is called with rcu_read_lock Jiri Pirko
2012-12-30 11:58 ` [patch net-next 11/15] vlan: remove usage of dev->master in __vlan_find_dev_deep() Jiri Pirko
2012-12-30 11:58 ` [patch net-next 12/15] nes: remove usage of dev->master Jiri Pirko
2012-12-30 11:58 ` [patch net-next 13/15] bonding: " Jiri Pirko
2012-12-30 11:58 ` [patch net-next 14/15] net: remove no longer used netdev_set_bond_master() and netdev_set_master() Jiri Pirko
2012-12-30 11:58 ` [patch net-next 15/15] net: kill dev->master Jiri Pirko
2013-01-02 10:54 ` [patch net-next V4 00/15] net: introduce upper device lists and remove dev->master David Miller
2013-01-02 12:30 ` Jiri Pirko
-- strict thread matches above, loose matches on Subject: below --
2012-12-29 10:38 [patch net-next V3 " Jiri Pirko
2012-12-29 10:38 ` [patch net-next 01/15] net: introduce upper device lists Jiri Pirko
2012-12-29 23:31 ` David Miller
2012-12-30 9:53 ` Jiri Pirko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20121230220850.GE1575@minipsycho.orion \
--to=jiri@resnulli.us \
--cc=amwang@redhat.com \
--cc=andy@greyhouse.net \
--cc=bhutchings@solarflare.com \
--cc=blaschka@linux.vnet.ibm.com \
--cc=davem@davemloft.net \
--cc=divy@chelsio.com \
--cc=ebiederm@xmission.com \
--cc=edumazet@google.com \
--cc=faisal.latif@intel.com \
--cc=fbl@redhat.com \
--cc=fubar@us.ibm.com \
--cc=greearb@candelatech.com \
--cc=hal.rosenstock@gmail.com \
--cc=heiko.carstens@de.ibm.com \
--cc=jitendra.kalsaria@qlogic.com \
--cc=joe@perches.com \
--cc=john.r.fastabend@intel.com \
--cc=kaber@trash.net \
--cc=linux-driver@qlogic.com \
--cc=netdev@vger.kernel.org \
--cc=nhorman@tuxdriver.com \
--cc=pablo@netfilter.org \
--cc=roland@kernel.org \
--cc=schwidefsky@de.ibm.com \
--cc=sean.hefty@intel.com \
--cc=shemminger@vyatta.com \
--cc=sony.chacko@qlogic.com \
--cc=ursula.braun@de.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).