From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753630Ab3ADItP (ORCPT ); Fri, 4 Jan 2013 03:49:15 -0500 Received: from mail-ee0-f49.google.com ([74.125.83.49]:37722 "EHLO mail-ee0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752605Ab3ADItM (ORCPT ); Fri, 4 Jan 2013 03:49:12 -0500 From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, edumazet@google.com, faisal.latif@intel.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, linux390@de.ibm.com, shemminger@vyatta.com, bhutchings@solarflare.com, therbert@google.com, xiyou.wangcong@gmail.com, joe@perches.com, gregory.v.rose@intel.com, john.r.fastabend@intel.com, linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org, bridge@lists.linux-foundation.org, fbl@redhat.com Subject: [patch net-next V6 00/15] net: introduce upper device lists and remove dev->master Date: Fri, 4 Jan 2013 09:48:48 +0100 Message-Id: <1357289343-817-1-git-send-email-jiri@resnulli.us> X-Mailer: git-send-email 1.8.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is a V6 of a repost of my previous patchset: "[patch net-next v2 00/15] net: introduce upper device lists and remove dev->master" from Aug 14 The 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 "master links" have the same value. After all changes, there is no longer possible to do things as: "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. v5->v6: - netdev_has_upper_dev() - added statement to comment that this is looking at the immediate upper devices only. - renamed "RTNL semaphore" -> "RTNL lock" in all comments - renamed __netdev_has_upper_dev() to __netdev_search_upper_dev() to emhasize the difference to netdev_has_upper_dev() v4->v5: - fixed missed typo in drivers/infiniband/hw/nes/nes_cm.c v3->v4: - comments in __netdev_upper_dev_link() squashed into one line - kfree_rcu used instead of call_rcu in netdev_upper_dev_unlink() v2->v3: - removed recursion in __netdev_has_upper_dev() - refreshed bits to be applicable on current net-next v1->v2: - s/unique/master/ better naming + stays closer to the past - fixed vlan err goto - original patch 15 (WARN_ON change) is squashed into the first patch Jiri Pirko (15): net: introduce upper device lists macvlan: add link to upper device vlan: add link to upper device rtnetlink: remove usage of dev->master team: remove usage of netdev_set_master() bridge: remove usage of netdev_set_master() netpoll: remove usage of dev->master cxgb3: remove usage of dev->master qlcnic: guard __vlan_find_dev_deep() by rcu_read_lock qeth: ensure that __vlan_find_dev_deep() is called with rcu_read_lock vlan: remove usage of dev->master in __vlan_find_dev_deep() nes: remove usage of dev->master bonding: remove usage of dev->master net: remove no longer used netdev_set_bond_master() and netdev_set_master() net: kill dev->master drivers/infiniband/hw/nes/nes.c | 8 +- drivers/infiniband/hw/nes/nes_cm.c | 2 +- drivers/net/bonding/bond_3ad.c | 30 +-- drivers/net/bonding/bond_alb.c | 6 +- drivers/net/bonding/bond_main.c | 94 ++++---- drivers/net/bonding/bonding.h | 14 +- drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c | 11 +- drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 2 + drivers/net/macvlan.c | 9 +- drivers/net/team/team.c | 13 +- drivers/s390/net/qeth_l3_main.c | 21 +- include/linux/netdevice.h | 22 +- net/8021q/vlan.c | 10 +- net/8021q/vlan_core.c | 18 +- net/bridge/br_if.c | 6 +- net/core/dev.c | 246 +++++++++++++++++---- net/core/netpoll.c | 9 +- net/core/rtnetlink.c | 70 +++--- 18 files changed, 409 insertions(+), 182 deletions(-) -- 1.8.0