On Wed, Jan 5, 2022 at 4:50 PM Leon Romanovsky <leon@xxxxxxxxxx> wrote: > > From: Leon Romanovsky <leonro@xxxxxxxxxx> > > Starting from the commit 66920e1b2586 ("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. Do you mean that rxe_cfg tool can not be used again? Zhu Yanjun > > Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxx> > --- > drivers/infiniband/sw/rxe/Makefile | 1 - > drivers/infiniband/sw/rxe/rxe.c | 4 - > drivers/infiniband/sw/rxe/rxe.h | 2 - > drivers/infiniband/sw/rxe/rxe_sysfs.c | 119 -------------------------- > 4 files changed, 126 deletions(-) > delete mode 100644 drivers/infiniband/sw/rxe/rxe_sysfs.c > > diff --git a/drivers/infiniband/sw/rxe/Makefile b/drivers/infiniband/sw/rxe/Makefile > index 1e24673e9318..5395a581f4bb 100644 > --- a/drivers/infiniband/sw/rxe/Makefile > +++ b/drivers/infiniband/sw/rxe/Makefile > @@ -22,5 +22,4 @@ rdma_rxe-y := \ > rxe_mcast.o \ > rxe_task.o \ > rxe_net.o \ > - rxe_sysfs.o \ > rxe_hw_counters.o > diff --git a/drivers/infiniband/sw/rxe/rxe.c b/drivers/infiniband/sw/rxe/rxe.c > index 8e0f9c489cab..fab291245366 100644 > --- a/drivers/infiniband/sw/rxe/rxe.c > +++ b/drivers/infiniband/sw/rxe/rxe.c > @@ -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"); > } > > diff --git a/drivers/infiniband/sw/rxe/rxe.h b/drivers/infiniband/sw/rxe/rxe.h > index 1bb3fb618bf5..fb9066e6f5f0 100644 > --- a/drivers/infiniband/sw/rxe/rxe.h > +++ b/drivers/infiniband/sw/rxe/rxe.h > @@ -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); > diff --git a/drivers/infiniband/sw/rxe/rxe_sysfs.c b/drivers/infiniband/sw/rxe/rxe_sysfs.c > deleted file mode 100644 > index 666202ddff48..000000000000 > --- a/drivers/infiniband/sw/rxe/rxe_sysfs.c > +++ /dev/null > @@ -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"); > -- > 2.33.1 >