diff options
author | Alexander Motin <mav@FreeBSD.org> | 2021-01-24 19:23:04 +0000 |
---|---|---|
committer | Alexander Motin <mav@FreeBSD.org> | 2021-02-23 00:31:52 +0000 |
commit | 49f4b33f9e1667f51a2d55e39785ce50c2cda950 (patch) | |
tree | 4fe24c72619a30c957688f26802ba1f49f00a6dc | |
parent | c8169618a7300bf41dad37b0ce107a4be5d9f8b0 (diff) | |
download | src-49f4b33f9e1667f51a2d55e39785ce50c2cda950.tar.gz src-49f4b33f9e1667f51a2d55e39785ce50c2cda950.zip |
Exclude reserved iSCSI Initiator Task Tag.
RFC 7143 (11.2.1.8):
An ITT value of 0xffffffff is reserved and MUST NOT be assigned for a
task by the initiator. The only instance in which it may be seen on
the wire is in a target-initiated NOP-In PDU (Section 11.19) and in
the initiator response to that PDU, if necessary.
MFC after: 1 month
-rw-r--r-- | sys/dev/iscsi/iscsi.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/dev/iscsi/iscsi.c b/sys/dev/iscsi/iscsi.c index eaaf84de9594..5e6c80255bff 100644 --- a/sys/dev/iscsi/iscsi.c +++ b/sys/dev/iscsi/iscsi.c @@ -2194,6 +2194,8 @@ iscsi_action_abort(struct iscsi_session *is, union ccb *ccb) } initiator_task_tag = is->is_initiator_task_tag++; + if (initiator_task_tag == 0xffffffff) + initiator_task_tag = is->is_initiator_task_tag++; io = iscsi_outstanding_add(is, request, NULL, &initiator_task_tag); if (io == NULL) { @@ -2254,6 +2256,9 @@ iscsi_action_scsiio(struct iscsi_session *is, union ccb *ccb) } initiator_task_tag = is->is_initiator_task_tag++; + if (initiator_task_tag == 0xffffffff) + initiator_task_tag = is->is_initiator_task_tag++; + io = iscsi_outstanding_add(is, request, ccb, &initiator_task_tag); if (io == NULL) { icl_pdu_free(request); |