RDMA/rxe: Delete deprecated module parameters interface
Starting from the commit 66920e1b25
("rdma_rxe: Use netlink messages
to add/delete links") from the 2019, the RXE modules parameters are marked
as deprecated in favour of rdmatool. So remove the kernel code too.
Link: https://lore.kernel.org/r/c8376d7517aebe7cc851f0baaeef7b13707cf767.1641372460.git.leonro@nvidia.com
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Reviewed-by: Zhu Yanjun <zyjzyj2000@gmail.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
This commit is contained in:
parent
d82e2b27ad
commit
36783dec8d
@ -22,5 +22,4 @@ rdma_rxe-y := \
|
||||
rxe_mcast.o \
|
||||
rxe_task.o \
|
||||
rxe_net.o \
|
||||
rxe_sysfs.o \
|
||||
rxe_hw_counters.o
|
||||
|
@ -13,8 +13,6 @@ MODULE_AUTHOR("Bob Pearson, Frank Zago, John Groves, Kamal Heib");
|
||||
MODULE_DESCRIPTION("Soft RDMA transport");
|
||||
MODULE_LICENSE("Dual BSD/GPL");
|
||||
|
||||
bool rxe_initialized;
|
||||
|
||||
/* free resources for a rxe device all objects created for this device must
|
||||
* have been destroyed
|
||||
*/
|
||||
@ -290,7 +288,6 @@ static int __init rxe_module_init(void)
|
||||
return err;
|
||||
|
||||
rdma_link_register(&rxe_link_ops);
|
||||
rxe_initialized = true;
|
||||
pr_info("loaded\n");
|
||||
return 0;
|
||||
}
|
||||
@ -301,7 +298,6 @@ static void __exit rxe_module_exit(void)
|
||||
ib_unregister_driver(RDMA_DRIVER_RXE);
|
||||
rxe_net_exit();
|
||||
|
||||
rxe_initialized = false;
|
||||
pr_info("unloaded\n");
|
||||
}
|
||||
|
||||
|
@ -39,8 +39,6 @@
|
||||
|
||||
#define RXE_ROCE_V2_SPORT (0xc000)
|
||||
|
||||
extern bool rxe_initialized;
|
||||
|
||||
void rxe_set_mtu(struct rxe_dev *rxe, unsigned int dev_mtu);
|
||||
|
||||
int rxe_add(struct rxe_dev *rxe, unsigned int mtu, const char *ibdev_name);
|
||||
|
@ -1,119 +0,0 @@
|
||||
// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB
|
||||
/*
|
||||
* Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved.
|
||||
* Copyright (c) 2015 System Fabric Works, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#include "rxe.h"
|
||||
#include "rxe_net.h"
|
||||
|
||||
/* Copy argument and remove trailing CR. Return the new length. */
|
||||
static int sanitize_arg(const char *val, char *intf, int intf_len)
|
||||
{
|
||||
int len;
|
||||
|
||||
if (!val)
|
||||
return 0;
|
||||
|
||||
/* Remove newline. */
|
||||
for (len = 0; len < intf_len - 1 && val[len] && val[len] != '\n'; len++)
|
||||
intf[len] = val[len];
|
||||
intf[len] = 0;
|
||||
|
||||
if (len == 0 || (val[len] != 0 && val[len] != '\n'))
|
||||
return 0;
|
||||
|
||||
return len;
|
||||
}
|
||||
|
||||
static int rxe_param_set_add(const char *val, const struct kernel_param *kp)
|
||||
{
|
||||
int len;
|
||||
int err = 0;
|
||||
char intf[32];
|
||||
struct net_device *ndev;
|
||||
struct rxe_dev *exists;
|
||||
|
||||
if (!rxe_initialized) {
|
||||
pr_err("Module parameters are not supported, use rdma link add or rxe_cfg\n");
|
||||
return -EAGAIN;
|
||||
}
|
||||
|
||||
len = sanitize_arg(val, intf, sizeof(intf));
|
||||
if (!len) {
|
||||
pr_err("add: invalid interface name\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
ndev = dev_get_by_name(&init_net, intf);
|
||||
if (!ndev) {
|
||||
pr_err("interface %s not found\n", intf);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (is_vlan_dev(ndev)) {
|
||||
pr_err("rxe creation allowed on top of a real device only\n");
|
||||
err = -EPERM;
|
||||
goto err;
|
||||
}
|
||||
|
||||
exists = rxe_get_dev_from_net(ndev);
|
||||
if (exists) {
|
||||
ib_device_put(&exists->ib_dev);
|
||||
pr_err("already configured on %s\n", intf);
|
||||
err = -EINVAL;
|
||||
goto err;
|
||||
}
|
||||
|
||||
err = rxe_net_add("rxe%d", ndev);
|
||||
if (err) {
|
||||
pr_err("failed to add %s\n", intf);
|
||||
goto err;
|
||||
}
|
||||
|
||||
err:
|
||||
dev_put(ndev);
|
||||
return err;
|
||||
}
|
||||
|
||||
static int rxe_param_set_remove(const char *val, const struct kernel_param *kp)
|
||||
{
|
||||
int len;
|
||||
char intf[32];
|
||||
struct ib_device *ib_dev;
|
||||
|
||||
len = sanitize_arg(val, intf, sizeof(intf));
|
||||
if (!len) {
|
||||
pr_err("add: invalid interface name\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (strncmp("all", intf, len) == 0) {
|
||||
pr_info("rxe_sys: remove all");
|
||||
ib_unregister_driver(RDMA_DRIVER_RXE);
|
||||
return 0;
|
||||
}
|
||||
|
||||
ib_dev = ib_device_get_by_name(intf, RDMA_DRIVER_RXE);
|
||||
if (!ib_dev) {
|
||||
pr_err("not configured on %s\n", intf);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
ib_unregister_device_and_put(ib_dev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct kernel_param_ops rxe_add_ops = {
|
||||
.set = rxe_param_set_add,
|
||||
};
|
||||
|
||||
static const struct kernel_param_ops rxe_remove_ops = {
|
||||
.set = rxe_param_set_remove,
|
||||
};
|
||||
|
||||
module_param_cb(add, &rxe_add_ops, NULL, 0200);
|
||||
MODULE_PARM_DESC(add, "DEPRECATED. Create RXE device over network interface");
|
||||
module_param_cb(remove, &rxe_remove_ops, NULL, 0200);
|
||||
MODULE_PARM_DESC(remove, "DEPRECATED. Remove RXE device over network interface");
|
Loading…
Reference in New Issue
Block a user