netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch net-next V6 00/15] net: introduce upper device lists and remove dev->master
@ 2013-01-04  8:48 Jiri Pirko
  2013-01-04  8:48 ` [patch net-next V6 01/15] net: introduce upper device lists Jiri Pirko
                   ` (11 more replies)
  0 siblings, 12 replies; 17+ messages in thread
From: Jiri Pirko @ 2013-01-04  8:48 UTC (permalink / raw)
  To: netdev
  Cc: davem, edumazet, faisal.latif, roland, sean.hefty, hal.rosenstock,
	fubar, andy, divy, jitendra.kalsaria, sony.chacko, linux-driver,
	kaber, ursula.braun, blaschka, linux390, shemminger, bhutchings,
	therbert, xiyou.wangcong, joe, gregory.v.rose, john.r.fastabend,
	linux-rdma, linux-kernel, linux-s390, bridge, fbl

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2013-01-04 21:33 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-04  8:48 [patch net-next V6 00/15] net: introduce upper device lists and remove dev->master Jiri Pirko
2013-01-04  8:48 ` [patch net-next V6 01/15] net: introduce upper device lists Jiri Pirko
2013-01-04  8:48 ` [patch net-next V6 02/15] macvlan: add link to upper device Jiri Pirko
2013-01-04  8:48 ` [patch net-next V6 03/15] vlan: " Jiri Pirko
2013-01-04  8:48 ` [patch net-next V6 04/15] rtnetlink: remove usage of dev->master Jiri Pirko
2013-01-04  8:48 ` [patch net-next V6 05/15] team: remove usage of netdev_set_master() Jiri Pirko
2013-01-04  8:48 ` [patch net-next V6 06/15] bridge: " Jiri Pirko
2013-01-04  8:48 ` [patch net-next V6 07/15] netpoll: remove usage of dev->master Jiri Pirko
2013-01-04  8:48 ` [patch net-next V6 08/15] cxgb3: " Jiri Pirko
2013-01-04  8:48 ` [patch net-next V6 09/15] qlcnic: guard __vlan_find_dev_deep() by rcu_read_lock Jiri Pirko
2013-01-04  8:48 ` [patch net-next V6 10/15] qeth: ensure that __vlan_find_dev_deep() is called with rcu_read_lock Jiri Pirko
2013-01-04  8:49 ` [patch net-next V6 12/15] nes: remove usage of dev->master Jiri Pirko
     [not found] ` <1357289343-817-1-git-send-email-jiri-rHqAuBHg3fBzbRFIqnYvSA@public.gmane.org>
2013-01-04  8:48   ` [patch net-next V6 11/15] vlan: remove usage of dev->master in __vlan_find_dev_deep() Jiri Pirko
2013-01-04  8:49   ` [patch net-next V6 13/15] bonding: remove usage of dev->master Jiri Pirko
2013-01-04  8:49   ` [patch net-next V6 14/15] net: remove no longer used netdev_set_bond_master() and netdev_set_master() Jiri Pirko
2013-01-04  8:49   ` [patch net-next V6 15/15] net: kill dev->master Jiri Pirko
2013-01-04 21:33   ` [patch net-next V6 00/15] net: introduce upper device lists and remove dev->master David Miller

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