Lines Matching +full:host +full:- +full:controller
1 /* SPDX-License-Identifier: GPL-2.0 */
3 * NVMe over Fabrics common host code.
4 * Copyright (c) 2015-2016 HGST, a Western Digital Company.
18 /* default is -1: the fail fast mechanism is disabled */
19 #define NVMF_DEF_FAIL_FAST_TMO -1
29 * Define a host as seen by the target. We allocate one at boot, but also
31 * persistence of the Host NQN over multiple boots, and to allow using
33 * use different Host NQNs with the same Host ID we generate a Host ID and
44 * enum nvmf_parsing_opts - used to define the sysfs parsing options used.
76 * struct nvmf_ctrl_options - Used to hold the options specified
79 * on adding a NVMe controller.
81 * better description) that will be used by an NVMe controller
85 * @traddr: The transport-specific TRADDR field for a port on the
86 * subsystem which is adding a controller.
87 * @trsvcid: The transport-specific TRSVCID field for a port on the
88 * subsystem which is adding a controller.
89 * @host_traddr: A transport-specific field identifying the NVME host port
90 * to use for the connection to the controller.
91 * @host_iface: A transport-specific field identifying the NVME host
92 * interface to use for the connection to the controller.
94 * @nr_io_queues: Number of controller IO queues that will be established.
96 * @discovery_nqn: indicates if the subsysnqn is the well-known discovery NQN.
97 * @kato: Keep-alive timeout.
98 * @host: Virtual NVMe host, contains the NQN and Host ID.
100 * the controller, (-1) means reconnect forever, zero means remove
102 * @dhchap_secret: DH-HMAC-CHAP secret
103 * @dhchap_ctrl_secret: DH-HMAC-CHAP controller secret for bi-directional
105 * @disable_sqflow: disable controller sq flow control
127 struct nvmf_host *host; member
141 * struct nvmf_transport_ops - used to register a specific
144 * registration entry to its linked-list internal tree.
147 * @required_opts: sysfs command-line options that must be specified
148 * when adding a new NVMe controller.
149 * @allowed_opts: sysfs command-line options that can be specified
150 * when adding a new NVMe controller.
151 * @create_ctrl(): function pointer that points to a non-NVMe
152 * implementation-specific fabric technology
154 * for the purpose of conneciton to an NVMe controller
179 if (ctrl->state == NVME_CTRL_DELETING || in nvmf_ctlr_matches_baseopts()
180 ctrl->state == NVME_CTRL_DELETING_NOIO || in nvmf_ctlr_matches_baseopts()
181 ctrl->state == NVME_CTRL_DEAD || in nvmf_ctlr_matches_baseopts()
182 strcmp(opts->subsysnqn, ctrl->opts->subsysnqn) || in nvmf_ctlr_matches_baseopts()
183 strcmp(opts->host->nqn, ctrl->opts->host->nqn) || in nvmf_ctlr_matches_baseopts()
184 memcmp(&opts->host->id, &ctrl->opts->host->id, sizeof(uuid_t))) in nvmf_ctlr_matches_baseopts()
192 if (!ctrl->subsys) in nvmf_ctrl_subsysnqn()
193 return ctrl->opts->subsysnqn; in nvmf_ctrl_subsysnqn()
194 return ctrl->subsys->subnqn; in nvmf_ctrl_subsysnqn()
200 nvme_req(rq)->status = NVME_SC_HOST_ABORTED_CMD; in nvmf_complete_timed_out_request()