diff --git a/scripts/rpc.py b/scripts/rpc.py index 2e07eb690..949de97ab 100755 --- a/scripts/rpc.py +++ b/scripts/rpc.py @@ -380,6 +380,14 @@ if __name__ == "__main__": p.add_argument('-s', '--trsvcid', help='NVMe-oF transport service id: e.g., a port number') p.set_defaults(func=rpc.nvmf.nvmf_subsystem_add_listener) + p = subparsers.add_parser('nvmf_subsystem_remove_listener', help='Remove a listener from an NVMe-oF subsystem') + p.add_argument('nqn', help='NVMe-oF subsystem NQN') + p.add_argument('-t', '--trtype', help='NVMe-oF transport type: e.g., rdma', required=True) + p.add_argument('-a', '--traddr', help='NVMe-oF transport address: e.g., an ip address', required=True) + p.add_argument('-f', '--adrfam', help='NVMe-oF transport adrfam: e.g., ipv4, ipv6, ib, fc, intra_host') + p.add_argument('-s', '--trsvcid', help='NVMe-oF transport service id: e.g., a port number') + p.set_defaults(func=rpc.nvmf.nvmf_subsystem_remove_listener) + p = subparsers.add_parser('nvmf_subsystem_add_ns', help='Add a namespace to an NVMe-oF subsystem') p.add_argument('nqn', help='NVMe-oF subsystem NQN') p.add_argument('bdev_name', help='The name of the bdev that will back this namespace') diff --git a/scripts/rpc/nvmf.py b/scripts/rpc/nvmf.py index 5b26c1c45..44b57d6b8 100755 --- a/scripts/rpc/nvmf.py +++ b/scripts/rpc/nvmf.py @@ -58,6 +58,20 @@ def nvmf_subsystem_add_listener(args): args.client.call('nvmf_subsystem_add_listener', params) +def nvmf_subsystem_remove_listener(args): + listen_address = {'trtype': args.trtype, + 'traddr': args.traddr, + 'trsvcid': args.trsvcid} + + if args.adrfam: + listen_address['adrfam'] = args.adrfam + + params = {'nqn': args.nqn, + 'listen_address': listen_address} + + args.client.call('nvmf_subsystem_remove_listener', params) + + def nvmf_subsystem_add_ns(args): ns = {'bdev_name': args.bdev_name}