summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Vater2025-07-11 17:05:37 +0200
committerSebastian Vater2025-07-11 17:05:37 +0200
commit7c3a22f93416d2f9a4bc24a85381e90fd37d08b1 (patch)
treef18dacc55d4fe1c6ca5f30e10ca0b4b7e74d0f30
parentAdded most login related text keys and fixed a few typos in iscsi.h. (diff)
downloaddnbd3-7c3a22f93416d2f9a4bc24a85381e90fd37d08b1.tar.gz
dnbd3-7c3a22f93416d2f9a4bc24a85381e90fd37d08b1.tar.xz
dnbd3-7c3a22f93416d2f9a4bc24a85381e90fd37d08b1.zip
Added missing remaining login related text keys in iscsi.h.
-rw-r--r--src/server/iscsi.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/server/iscsi.h b/src/server/iscsi.h
index d0588e0..83aa1e4 100644
--- a/src/server/iscsi.h
+++ b/src/server/iscsi.h
@@ -1834,6 +1834,60 @@ typedef struct __attribute__((packed)) iscsi_text_response_packet {
// +--------------+------------------------------------------+
// When TaskReporting is not negotiated to FastAbort, the
// standard multi-task abort semantics MUST be used
+#define ISCSI_LOGIN_AUTH_TEXT_KEY_X_NODE_ARCH "X#NodeArchitecture" // Use: LO, Declarative
+ // Senders: Initiator and target
+ // Scope: SW
+ // X#NodeArchitecture=<list-of-values>
+ // Default is None.
+ // Examples:
+ // X#NodeArchitecture=ExampleOS/v1234,ExampleInc_SW_Initiator/1.05a
+ // X#NodeArchitecture=ExampleInc_HW_Initiator/4010,Firmware/2.0.0.5
+ // X#NodeArchitecture=ExampleInc_SW_Initiator/2.1,CPU_Arch/i686
+ // This document does not define the structure or content of the list of
+ // values.
+ // The initiator or target declares the details of its iSCSI node
+ // architecture to the remote endpoint. These details may include, but
+ // are not limited to, iSCSI vendor software, firmware, or hardware
+ // versions; the OS version; or hardware architecture. This key may be
+ // declared on a Discovery session or a Normal session.
+ // The length of the key value (total length of the list-of-values) MUST
+ // NOT be greater than 255 bytes.
+ // X#NodeArchitecture MUST NOT be redeclared during the Login Phase.
+ // Functional behavior of the iSCSI node (this includes the iSCSI
+ // protocol logic - the SCSI, iSCSI, and TCP/IP protocols) MUST NOT
+ // depend on the presence, absence, or content of the X#NodeArchitecture
+ // key. The key MUST NOT be used by iSCSI nodes for interoperability or
+ // for exclusion of other nodes. To ensure proper use, key values
+ // SHOULD be set by the node itself, and there SHOULD NOT be provisions
+ // for the key values to contain user-defined text.
+ // Nodes implementing this key MUST choose one of the following
+ // implementation options:
+ // - only transmit the key,
+ // - only log the key values received from other nodes, or
+ // - both transmit and log the key values.
+ // Each node choosing to implement transmission of the key values MUST
+ // be prepared to handle the response of iSCSI nodes that do not
+ // understand the key.
+ // Nodes that implement transmission and/or logging of the key values
+ // may also implement administrative mechanisms that disable and/or
+ // change the logging and key transmission details.
+ // Thus, a valid behavior for this key may be that a node is completely
+ // silent (the node does not transmit any key value and simply discards
+ // any key values it receives without issuing a NotUnderstood response)
+#define ISCSI_LOGIN_AUTH_TEXT_KEY_IF_MARKER "IFMarker" // Obsoleted Keys
+#define ISCSI_LOGIN_AUTH_TEXT_KEY_OF_MARKER "OFMarker" // This document obsoletes the following keys defined in RFC3720:
+#define ISCSI_LOGIN_AUTH_TEXT_KEY_OF_MARK_INT "OFMarkInt" // IFMarker, OFMarker, OFMarkInt, and IFMarkInt. However, iSCSI
+#define ISCSI_LOGIN_AUTH_TEXT_KEY_IF_MARK_INT "IFMarkInt" // implementations compliant to this document may still receive these
+ // obsoleted keys - i.e., in a responder role - in a text negotiation.
+ // When an IFMarker or OFMarker key is received, a compliant iSCSI
+ // implementation SHOULD respond with the constant "Reject" value. The
+ // implementation MAY alternatively respond with a "No" value.
+ // However, the implementation MUST NOT respond with a "NotUnderstood"
+ // value for either of these keys.
+ // When an IFMarkInt or OFMarkInt key is received, a compliant iSCSI
+ // implementation MUST respond with the constant "Reject" value. The
+ // implementation MUST NOT respond with a "NotUnderstood" value for
+ // either of these keys
/* This is an initiator-defined component of the session identifier and
is structured as follows: