On Wed, 2018-07-18 at 20:02 -0500, Mike Christie wrote:
> On 07/18/2018 07:03 PM, Mike Christie wrote:
> > On 07/18/2018 05:09 PM, Bart Van Assche wrote:
> > > [ ... ]
> > > is that these involve a transport ID and that that transport ID can be up 
> > > to 228
> > > bytes long for iSCSI.
> > 
> > I am talking about the Initiator Session ID above. That along with the
> > iscsi name make up the Initiator Port Transport ID. In spc4r37 checkout
> > table 508 or in SAM 5r21 checkout table A.4.
> > 
> > So in the SCSI specs as part of the Initiator Port Transport ID we have
> > this from that SAM table:
> > 
> > The Initiator Session Identifier (ISID) portion of the string is a UTF-8
> > encoded hexadecimal representation of a six byte binary value.
> > 
> > ---
> > 
> > In the PR parts of SPC it sometimes mentions only "Transport ID" but
> > then clarifies the initiator port so I am assuming in those cases it
> > means "Initiator Port Transport ID" so it is both the name and isid for
> > iscsi.
> 
> It looks like we are supposed to go by what the initiator specifies in
> the TPID field, so it can be either the Transport ID or Initiator Port
> Transport ID.

Hello Mike,

Since the ISID is iSCSI-specific I think that all code that knows about the
ISID and its encoding should be in the iSCSI target driver instead of the
target core. Do you think an approach similar to that of the SCST function
iscsi_get_initiator_port_transport_id() can be implemented in LIO? The caller
of that function is in source file scst/src/scst_targ.c:

                res = sess->tgt->tgtt->get_initiator_port_transport_id(
                                        sess->tgt, sess, &sess->transport_id);

Thanks,

Bart.

Reply via email to