IB/ipoib: Add rtnl_link_ops support
authorOr Gerlitz <ogerlitz@mellanox.com>
Thu, 13 Sep 2012 05:56:36 +0000 (05:56 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 20 Sep 2012 20:49:17 +0000 (16:49 -0400)
commit9baa0b0364103dd726384c71db30b74044754743
tree5e59fb1bab816eb57e55e6811a3c8642ac91d355
parentb85c715c2e6fabdd18c90df878ed2c6e6cd50fc2
IB/ipoib: Add rtnl_link_ops support

Add rtnl_link_ops to IPoIB, with the first usage being child device
create/delete through them. Childs devices are now either legacy ones,
created/deleted through the ipoib sysfs entries, or RTNL ones.

Adding support for RTNL childs involved refactoring of ipoib_vlan_add
which is now used by both the sysfs and the link_ops code.

Also, added ndo_uninit entry to support calling unregister_netdevice_queue
from the rtnl dellink entry. This required removal of calls to
ipoib_dev_cleanup from the driver in flows which use unregister_netdevice,
since the networking core will invoke ipoib_uninit which does exactly that.

Signed-off-by: Erez Shitrit <erezsh@mellanox.co.il>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/infiniband/ipoib.txt
drivers/infiniband/ulp/ipoib/Makefile
drivers/infiniband/ulp/ipoib/ipoib.h
drivers/infiniband/ulp/ipoib/ipoib_main.c
drivers/infiniband/ulp/ipoib/ipoib_netlink.c [new file with mode: 0644]
drivers/infiniband/ulp/ipoib/ipoib_vlan.c
include/linux/if_link.h