netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH net-next] bonding: remove bond->vlan_list
@ 2013-08-06 17:58 Veaceslav Falico
  2013-08-06 17:58 ` [RFC PATCH net-next 1/6] bonding: add vlan_uses_dev_rcu() and make bond_vlan_used() use it Veaceslav Falico
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Veaceslav Falico @ 2013-08-06 17:58 UTC (permalink / raw)
  To: netdev
  Cc: Jay Vosburgh, Andy Gospodarek, Patrick McHardy, David S. Miller,
	Nikolay Aleksandrov, Veaceslav Falico

The aim of this patchset is to remove bond->vlan_list completely, and use
8021q's standard functions instead of it.

The patchset is on top of Nik's latest two patches:
[net-next,v2,1/2] bonding: change the bond's vlan syncing functions with
			   the standard ones
[net-next,v2,2/2] bonding: unwind on bond_add_vlan failure


First two patches add two helper functions to vlan code:

bonding: add vlan_uses_dev_rcu() and make bond_vlan_used() use it

	Here we add a copy of vlan_uses_dev(), only rcu'd instead of rtnl,
	and make bond_vlan_used() use it under rcu_read_lock().

vlan: add __vlan_find_dev_next_id()

	This function takes dev and vlan_id and returns the next vlan id
	that uses this dev. It can be used to cycle through the vlan list,
	and not only by bonding - but by any network driver that uses its
	private vlan list.

Next four patches actually convert bonding to use the new
functions/approach and remove the vlan_list completely.

This patchset solves several issues with bonding, simplify it overall,
RCUify further and add infrastructure to anyone else who'd like to use
8021q standard functions instead of their own vlan_list, which is quite
common amongst network drivers currently.

I'm testing it continuously currently, no issues found, will update on
anything.

CC: Jay Vosburgh <fubar@us.ibm.com>
CC: Andy Gospodarek <andy@greyhouse.net>
CC: Patrick McHardy <kaber@trash.net>
CC: "David S. Miller" <davem@davemloft.net>
CC: Nikolay Aleksandrov <nikolay@redhat.com>
Signed-off-by: Veaceslav Falico <vfalico@redhat.com>

---
 drivers/net/bonding/bond_alb.c  |   29 +++++---
 drivers/net/bonding/bond_alb.h  |    2 +-
 drivers/net/bonding/bond_main.c |  145 +++++----------------------------------
 drivers/net/bonding/bonding.h   |   16 +++--
 include/linux/if_vlan.h         |   12 +++
 net/8021q/vlan_core.c           |   47 +++++++++++++
 6 files changed, 105 insertions(+), 146 deletions(-)

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

end of thread, other threads:[~2013-08-06 17:58 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-06 17:58 [RFC PATCH net-next] bonding: remove bond->vlan_list Veaceslav Falico
2013-08-06 17:58 ` [RFC PATCH net-next 1/6] bonding: add vlan_uses_dev_rcu() and make bond_vlan_used() use it Veaceslav Falico
2013-08-06 17:59 ` [RFC PATCH net-next 2/6] vlan: add __vlan_find_dev_next_id() Veaceslav Falico
2013-08-06 17:59 ` [RFC PATCH net-next 3/6] bonding: make bond_alb use 8021q's dev->vlan_info instead of vlan_list Veaceslav Falico
2013-08-06 17:59 ` [RFC PATCH net-next 4/6] bonding: convert bond_has_this_ip to use bond->dev->vlan_info Veaceslav Falico
2013-08-06 17:59 ` [RFC PATCH net-next 5/6] bonding: convert bond_arp_send_all " Veaceslav Falico
2013-08-06 17:59 ` [RFC PATCH net-next 6/6] bonding: remove unused bond->vlan_list Veaceslav Falico

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