Page MenuHomeFreeBSD

D61550.1794767690.diff
No OneTemporary

Authored By
Unknown
Size
1 KB
Referenced Files
None
Subscribers
None

D61550.1794767690.diff

diff --git a/lib/libnvmf/libnvmf.h b/lib/libnvmf/libnvmf.h
--- a/lib/libnvmf/libnvmf.h
+++ b/lib/libnvmf/libnvmf.h
@@ -225,6 +225,20 @@
void nvmf_connect_invalid_parameters(const struct nvmf_capsule *cc,
bool data, uint16_t offset);
+/*
+ * Construct and send an error response capsule for a Fabrics CONNECT
+ * command.
+ */
+void nvmf_connect_error(const struct nvmf_capsule *cc, uint8_t sc_type,
+ uint8_t sc_status);
+
+/*
+ * Construct and send an error response capsule for a Fabrics CONNECT
+ * command using a generic status code.
+ */
+void nvmf_connect_generic_error(const struct nvmf_capsule *cc,
+ uint8_t sc_status);
+
/* Construct and send a response capsule for a successful CONNECT. */
int nvmf_finish_accept(const struct nvmf_capsule *cc, uint16_t cntlid);
diff --git a/lib/libnvmf/nvmf_controller.c b/lib/libnvmf/nvmf_controller.c
--- a/lib/libnvmf/nvmf_controller.c
+++ b/lib/libnvmf/nvmf_controller.c
@@ -184,6 +184,24 @@
nvmf_free_capsule(rc);
}
+void
+nvmf_connect_error(const struct nvmf_capsule *cc, uint8_t sc_type,
+ uint8_t sc_status)
+{
+ struct nvmf_capsule *rc;
+
+ rc = nvmf_simple_response(cc, sc_type, sc_status);
+ nvmf_transmit_capsule(rc);
+ nvmf_free_capsule(rc);
+}
+
+void
+nvmf_connect_generic_error(const struct nvmf_capsule *cc, uint8_t sc_status)
+{
+ assert(sc_status != NVME_SC_SUCCESS);
+ nvmf_connect_error(cc, NVME_SCT_GENERIC, sc_status);
+}
+
struct nvmf_qpair *
nvmf_accept(struct nvmf_association *na, const struct nvmf_qpair_params *params,
struct nvmf_capsule **ccp, struct nvmf_fabric_connect_data *data)

File Metadata

Mime Type
text/plain
Expires
Sun, Nov 15, 6:34 PM (23 h, 35 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
41746800
Default Alt Text
D61550.1794767690.diff (1 KB)

Event Timeline