linux/drivers/net
Eric W. Biederman e09eff7fc1 macvtap: Fix the minor device number allocation
On systems that create and delete lots of dynamic devices the
31bit linux ifindex fails to fit in the 16bit macvtap minor,
resulting in unusable macvtap devices.  I have systems running
automated tests that that hit this condition in just a few days.

Use a linux idr allocator to track which mavtap minor numbers
are available and and to track the association between macvtap
minor numbers and macvtap network devices.

Remove the unnecessary unneccessary check to see if the network
device we have found is indeed a macvtap device.  With macvtap
specific data structures it is impossible to find any other
kind of networking device.

Increase the macvtap minor range from 65536 to the full 20 bits
that is supported by linux device numbers.  It doesn't solve the
original problem but there is no penalty for a larger minor
device range.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-10-21 02:53:07 -04:00
..
appletalk net: remove use of ndo_set_multicast_list in drivers 2011-08-17 20:22:03 -07:00
arcnet drivers/net: Kconfig & Makefile cleanup 2011-08-27 00:58:49 -07:00
bonding bonding: Use a per netns implementation of /sys/class/net/bonding_masters. 2011-10-19 19:24:15 -04:00
caif caif-hsi: Added recovery check of CA wake status. 2011-10-19 03:25:43 -04:00
can can: remove references to berlios mailinglist 2011-10-17 19:22:46 -04:00
cris net: remove use of ndo_set_multicast_list in drivers 2011-08-17 20:22:03 -07:00
ethernet bnx2x: fix skb truesize underestimation 2011-10-21 02:52:59 -04:00
fddi skfp: Fix SysKonnect FDDI driver compile issues 2011-08-27 00:58:23 -07:00
hamradio
hippi hippi: Move the HIPPI driver 2011-08-27 00:58:30 -07:00
irda net/irda: sh_irda: add PM support 2011-09-15 17:19:28 -04:00
phy phylib: Modify Vitesse RGMII skew settings 2011-10-19 15:59:45 -04:00
plip plip: Move the PLIP driver 2011-08-27 00:58:33 -07:00
ppp Merge branch 'master' of github.com:davem330/net 2011-09-22 03:23:13 -04:00
slip slip: Move the SLIP drivers 2011-08-27 00:58:36 -07:00
tokenring drivers/net: Kconfig & Makefile cleanup 2011-08-27 00:58:49 -07:00
usb NET: asix: fix ethtool -e for AX88178 USB dongle 2011-10-19 19:31:02 -04:00
vmxnet3 net: add skb frag size accessors 2011-10-19 03:10:46 -04:00
wan wan: make LAPB callbacks const 2011-09-16 19:20:20 -04:00
wimax
wireless Merge branch 'master' of git://git.infradead.org/users/linville/wireless-next into for-davem 2011-10-17 15:05:26 -04:00
xen-netback net: add skb frag size accessors 2011-10-19 03:10:46 -04:00
dummy.c net: remove use of ndo_set_multicast_list in drivers 2011-08-17 20:22:03 -07:00
eql.c
ifb.c
Kconfig pch_gbe: support ML7831 IOH 2011-09-15 17:31:45 -04:00
LICENSE.SRC
loopback.c
macvlan.c macvlan: handle fragmented multicast frames 2011-10-18 23:22:07 -04:00
macvtap.c macvtap: Fix the minor device number allocation 2011-10-21 02:53:07 -04:00
Makefile net: Fix duplicate CONFIG_SLIP entry in driver/net/Makefile 2011-08-29 22:55:53 -04:00
mdio.c
mii.c
netconsole.c netconsole: switch init_netconsole() to late_initcall 2011-09-20 15:45:07 -04:00
rionet.c rapidio: fix use of non-compatible registers 2011-08-25 16:25:34 -07:00
sb1000.c
Space.c
sungem_phy.c net: Fix sungem_phy sharing. 2011-08-16 00:16:49 -07:00
tun.c net: remove use of ndo_set_multicast_list in drivers 2011-08-17 20:22:03 -07:00
veth.c
virtio_net.c virtio_net: fix truesize underestimation 2011-10-21 02:53:00 -04:00
xen-netfront.c net: add skb frag size accessors 2011-10-19 03:10:46 -04:00