Sfoglia il codice sorgente

Documented login parameters that we negotiate.

tags/v0.9.3
Michael Brown 18 anni fa
parent
commit
c69c1ec540
1 ha cambiato i file con 24 aggiunte e 1 eliminazioni
  1. 24
    1
      src/net/tcp/iscsi.c

+ 24
- 1
src/net/tcp/iscsi.c Vedi File

@@ -249,7 +249,30 @@ static void iscsi_tx_data_out ( struct iscsi_session *iscsi ) {
249 249
  * @v iscsi		iSCSI session
250 250
  *
251 251
  * These are the initial set of strings sent in the first login
252
- * request PDU.
252
+ * request PDU.  We want the following settings:
253
+ *
254
+ *     HeaderDigest=None
255
+ *     DataDigest=None
256
+ *     MaxConnections is irrelevant; we make only one connection anyway
257
+ *     InitialR2T=Yes (default) [1]
258
+ *     ImmediateData is irrelevant; we never send immediate data
259
+ *     MaxRecvDataSegmentLength=8192 (default)
260
+ *     MaxBurstLength=262144 (default)
261
+ *     FirstBurstLength=262144 (default)
262
+ *     DefaultTime2Wait=0 [2]
263
+ *     DefaultTime2Retain=0 [2]
264
+ *     MaxOutstandingR2T=1 (default)
265
+ *     DataPDUInOrder=Yes (default)
266
+ *     DataSequenceInOrder=Yes (default)
267
+ *     ErrorRecoveryLevel=0 (default)
268
+ *
269
+ * [1] InitialR2T has an OR resolution function, so the target may
270
+ * force us to use it.  We therefore simplify our logic by always
271
+ * using it.
272
+ *
273
+ * [2] These ensure that we can safely start a new task once we have
274
+ * reconnected after a failure, without having to manually tidy up
275
+ * after the old one.
253 276
  */
254 277
 static int iscsi_build_login_request_strings ( struct iscsi_session *iscsi,
255 278
 					       void *data, size_t len ) {

Loading…
Annulla
Salva