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)
committerDavid S. Miller <davem@davemloft.net>
Sat, 17 May 2014 02:14:49 +0000 (22:14 -0400)
commit25175ba5c9bff9aaf0229df34bb5d54c81633ec3
treefc6c7a430875d3bd85527772c69b6a8811ba84a4
parent4085ebe8c31face855fd01ee40372cb4aab1df3a
net: Allow for more then a single subclass for netif_addr_lock

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>
include/linux/netdevice.h