opnsense-src/sys/dev/nvmf
John Baldwin 8bba2c0f89 nvmf: Refactor reconnection support
Save more data associated with a new association including the network
address of the remote controller.  This permits reconnecting an
association without providing the address or other details.  To use
this new mode, provide only an existing device ID to nvmecontrol's
reconnect command.  An address can still be provided to request a
different address or other different settings for the new association.

The saved data includes an entire Discovery Log page entry to aim to
be compatible with other transports in the future.  When a remote
controller is connected to via a Discovery Log page entry (nvmecontrol
connect-all), the raw entry is used.  When a remote controller is
connected to via an explicit address, an entry is synthesized from the
parameters.

Note that this is a pseudo-ABI break for the ioctls used by nvmf(4) in
that the nvlists for handoff and reconnect now use a slightly
different set of elements.  Since this is only present in main I did
not bother implementing compatability shims.

Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D48214
2025-01-24 09:43:19 -05:00
..
controller nvmf: Switch several ioctls to using nvlists 2024-12-30 13:52:21 -05:00
host nvmf: Refactor reconnection support 2025-01-24 09:43:19 -05:00
nvmf.h nvmf: Refactor reconnection support 2025-01-24 09:43:19 -05:00
nvmf_proto.h nvmf: Add explicit alignment for struct nvmf_fabric_cmd 2024-05-06 15:19:39 -07:00
nvmf_tcp.c nvmf: Switch several ioctls to using nvlists 2024-12-30 13:52:21 -05:00
nvmf_tcp.h nvmf: fix build with __assert_unreachable() addition to userland 2025-01-12 18:41:37 -06:00
nvmf_transport.c nvmf: Switch several ioctls to using nvlists 2024-12-30 13:52:21 -05:00
nvmf_transport.h nvmf: Switch several ioctls to using nvlists 2024-12-30 13:52:21 -05:00
nvmf_transport_internal.h nvmf: Switch several ioctls to using nvlists 2024-12-30 13:52:21 -05:00