]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
nvmecontrol: New commands to support Fabrics hosts
authorJohn Baldwin <jhb@FreeBSD.org>
Thu, 2 May 2024 23:30:10 +0000 (16:30 -0700)
committerJohn Baldwin <jhb@FreeBSD.org>
Thu, 2 May 2024 23:30:10 +0000 (16:30 -0700)
commit1058c12197aba80d0777e3484f350436fca55fd7
tree1c9d6de7507b51f329c51eded641f4377d229ea9
parenta1eda74167b5edb99fd31d507d8a3f7d7e14ae2b
nvmecontrol: New commands to support Fabrics hosts

- discover: Connects to a remote Discovery controller, fetches its
  Discovery Log Page, and enumerates the remote controllers described
  in the log page.

  The -v option can be used to display the Identify Controller data
  structure for the Discovery controller.  This is only really useful
  for debugging.

- connect: Connects to a remote I/O controller and establishes an
  association of an admin queue and a single I/O queue.  The
  association is handed off to the in-kernel host to create a new
  nvmeX device.

- connect-all: Connects to a Discovery controller and attempts to
  create an association with each I/O controller enumerated in the
  Discovery controller's Discovery Log Page.

- reconnect: Establishes a new association with a remote I/O
  controller for an existing nvmeX device.  This can be used to
  restore access to a remote I/O controller after the loss of a prior
  association due to a transport error, controller reboot, etc.

- disconnect: Deletes one or more nvmeX devices after detaching its
  namespaces and terminating any active associations.  The devices to
  delete can be identified by either a nvmeX device name or the NQN of
  the remote controller.

- disconnect-all: Deletes all active associations with remote
  controllers.

Reviewed by: imp
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D44715
sbin/nvmecontrol/Makefile
sbin/nvmecontrol/connect.c [new file with mode: 0644]
sbin/nvmecontrol/disconnect.c [new file with mode: 0644]
sbin/nvmecontrol/discover.c [new file with mode: 0644]
sbin/nvmecontrol/fabrics.c [new file with mode: 0644]
sbin/nvmecontrol/fabrics.h [new file with mode: 0644]
sbin/nvmecontrol/nvmecontrol.8
sbin/nvmecontrol/reconnect.c [new file with mode: 0644]