RDMA/netlink: Add nldev initialization flows
Add nldev init and exit flows to the RDMA/core. Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Reviewed-by: Steve Wise <swise@opengridcomputing.com>
This commit is contained in:
parent
1a6e7c31d7
commit
6c80b41abe
3 changed files with 49 additions and 1 deletions
|
@ -11,7 +11,8 @@ ib_core-y := packer.o ud_header.o verbs.o cq.o rw.o sysfs.o \
|
||||||
device.o fmr_pool.o cache.o netlink.o \
|
device.o fmr_pool.o cache.o netlink.o \
|
||||||
roce_gid_mgmt.o mr_pool.o addr.o sa_query.o \
|
roce_gid_mgmt.o mr_pool.o addr.o sa_query.o \
|
||||||
multicast.o mad.o smi.o agent.o mad_rmpp.o \
|
multicast.o mad.o smi.o agent.o mad_rmpp.o \
|
||||||
security.o
|
security.o nldev.o
|
||||||
|
|
||||||
ib_core-$(CONFIG_INFINIBAND_USER_MEM) += umem.o
|
ib_core-$(CONFIG_INFINIBAND_USER_MEM) += umem.o
|
||||||
ib_core-$(CONFIG_INFINIBAND_ON_DEMAND_PAGING) += umem_odp.o umem_rbtree.o
|
ib_core-$(CONFIG_INFINIBAND_ON_DEMAND_PAGING) += umem_odp.o umem_rbtree.o
|
||||||
ib_core-$(CONFIG_CGROUP_RDMA) += cgroup.o
|
ib_core-$(CONFIG_CGROUP_RDMA) += cgroup.o
|
||||||
|
|
|
@ -1212,6 +1212,7 @@ static int __init ib_core_init(void)
|
||||||
goto err_sa;
|
goto err_sa;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nldev_init();
|
||||||
rdma_nl_register(RDMA_NL_LS, ibnl_ls_cb_table);
|
rdma_nl_register(RDMA_NL_LS, ibnl_ls_cb_table);
|
||||||
ib_cache_setup();
|
ib_cache_setup();
|
||||||
|
|
||||||
|
@ -1237,6 +1238,7 @@ err:
|
||||||
static void __exit ib_core_cleanup(void)
|
static void __exit ib_core_cleanup(void)
|
||||||
{
|
{
|
||||||
ib_cache_cleanup();
|
ib_cache_cleanup();
|
||||||
|
nldev_exit();
|
||||||
rdma_nl_unregister(RDMA_NL_LS);
|
rdma_nl_unregister(RDMA_NL_LS);
|
||||||
unregister_lsm_notifier(&ibdev_lsm_nb);
|
unregister_lsm_notifier(&ibdev_lsm_nb);
|
||||||
ib_sa_cleanup();
|
ib_sa_cleanup();
|
||||||
|
|
45
drivers/infiniband/core/nldev.c
Normal file
45
drivers/infiniband/core/nldev.c
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2017 Mellanox Technologies. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
* 3. Neither the names of the copyright holders nor the names of its
|
||||||
|
* contributors may be used to endorse or promote products derived from
|
||||||
|
* this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* Alternatively, this software may be distributed under the terms of the
|
||||||
|
* GNU General Public License ("GPL") version 2 as published by the Free
|
||||||
|
* Software Foundation.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <rdma/rdma_netlink.h>
|
||||||
|
|
||||||
|
#include "core_priv.h"
|
||||||
|
|
||||||
|
void __init nldev_init(void)
|
||||||
|
{
|
||||||
|
rdma_nl_register(RDMA_NL_NLDEV, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
void __exit nldev_exit(void)
|
||||||
|
{
|
||||||
|
rdma_nl_unregister(RDMA_NL_NLDEV);
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue