diff --git a/pkg/port/iscsit/conn.go b/pkg/port/iscsit/conn.go index d74fd5e..7565f6e 100644 --- a/pkg/port/iscsit/conn.go +++ b/pkg/port/iscsit/conn.go @@ -164,6 +164,7 @@ func (conn *iscsiConnection) buildRespPackage(oc OpCode, task *iscsiTask) error case OpReady: conn.resp.OpCode = OpReady conn.resp.R2TSN = task.r2tSN + conn.resp.Final = true conn.resp.BufferOffset = uint32(task.offset) conn.resp.DesiredLength = uint32(task.r2tCount) if val := conn.loginParam.sessionParam[ISCSI_PARAM_MAX_BURST].Value; task.r2tCount > int(val) { diff --git a/pkg/port/iscsit/session.go b/pkg/port/iscsit/session.go index 64d6429..9d6a70a 100644 --- a/pkg/port/iscsit/session.go +++ b/pkg/port/iscsit/session.go @@ -188,7 +188,9 @@ var sessionKeys map[string]*iscsiSessionKeys = map[string]*iscsiSessionKeys{ // ISCSI_PARAM_HDRDGST_EN "HeaderDigest": {ISCSI_PARAM_HDRDGST_EN, false, DIGEST_NONE, DIGEST_NONE, DIGEST_ALL, digestKeyConv, digestKeyInConv}, // ISCSI_PARAM_DATADGST_EN - "DataDigest": {ISCSI_PARAM_DATADGST_EN, false, DIGEST_NONE, DIGEST_NONE, DIGEST_ALL, digestKeyConv, digestKeyInConv}, + // TODO: Not sure why initialR2T was changed to true, need help in + // understanding it's use? + "DataDigest": {ISCSI_PARAM_DATADGST_EN, true, DIGEST_NONE, DIGEST_NONE, DIGEST_ALL, digestKeyConv, digestKeyInConv}, // ISCSI_PARAM_INITIAL_R2T_EN "InitialR2T": {ISCSI_PARAM_INITIAL_R2T_EN, false, 1, 0, 1, boolKeyConv, boolKeyInConv}, // ISCSI_PARAM_MAX_R2T