net: Allow for more then a single subclass for netif_addr_lock
authorVlad Yasevich <vyasevic@redhat.com>
Fri, 16 May 2014 21:04:54 +0000 (17:04 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 May 2014 20:20:34 +0000 (13:20 -0700)
commitd0166f814a1daef5992c19d5c18f2860e17ad2f1
treea22b879759637a8841908cd8683d60a84dc8684e
parent69ab2a8b80f2a479df6728effb935174dd5303bf
net: Allow for more then a single subclass for netif_addr_lock

[ Upstream commit 25175ba5c9bff9aaf0229df34bb5d54c81633ec3 ]

Currently netif_addr_lock_nested assumes that there can be only
a single nesting level between 2 devices.  However, if we
have multiple devices of the same type stacked, this fails.
For example:
 eth0 <-- vlan0.10 <-- vlan0.10.20

A more complicated configuration may stack more then one type of
device in different order.
Ex:
  eth0 <-- vlan0.10 <-- macvlan0 <-- vlan1.10.20 <-- macvlan1

This patch adds an ndo_* function that allows each stackable
device to report its nesting level.  If the device doesn't
provide this function default subclass of 1 is used.

Signed-off-by: Vlad Yasevich <vyasevic@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
include/linux/netdevice.h