Hi All, 

We are seeing an issue with Redhat 6.7 where ISID's are repeated for 
different sessions to same target (volume level target). Our array target 
has to close the existing sessions with same ISID before accepting new 
connections. This causes repeated login retry attempts by iscsid and 
overall system discovery process is too slow. From the code i see that ISID 
is determined as below. With this many sessions above 256 can have repeated 
ISID. Is this a design flaw?. Can this be avoided?.

/* OUI and uniqifying number */
        session->isid[0] = DRIVER_ISID_0;
        session->isid[1] = DRIVER_ISID_1;
        session->isid[2] = DRIVER_ISID_2;
        session->isid[3] = 0;
        session->isid[4] = 0;
        session->isid[5] = 0;

/*
 * TODO: use the iface number or some other value
 * so this will be persistent
 */
       session->isid[3] = session->id;


Only least significant byte of session SID is used here. Hence for mulitple 
sessions the ISID can be same.

    SID: session->id    ISID
    480:  e0      --> 0x00023de00000
    224:  e0      --> 0x00023de00000

    544:  10      --> 0x00023d100000
    528:  10      --> 0x00023d100000

    545:  21      --> 0x00023d210000
    289:  21      --> 0x00023d210000



iscsid: sending login PDU with current stage 1, next stage 3, transit 0x80, 
isid 0x00023de00000 exp_statsn 7 <------
iscsid: >    InitiatorName=iqn.1994-05.com.redhat:8973f121285
iscsid: >    InitiatorAlias=localhost
iscsid: >    
TargetName=iqn.2007-11.com.nimblestorage:arr6-iscsi-vol-60062-v2adb271243103de8.00000175.69cb1afa
iscsid: >    SessionType=Normal
iscsid: >    HeaderDigest=None
iscsid: >    DataDigest=None
iscsid: >    DefaultTime2Wait=2
iscsid: >    DefaultTime2Retain=0
iscsid: >    IFMarker=No
iscsid: >    OFMarker=No
iscsid: >    ErrorRecoveryLevel=0
iscsid: >    InitialR2T=No
iscsid: >    ImmediateData=Yes
iscsid: >    MaxBurstLength=16776192
iscsid: >    FirstBurstLength=262144
iscsid: >    MaxOutstandingR2T=1
iscsid: >    MaxConnections=1
iscsid: >    DataPDUInOrder=Yes
iscsid: >    DataSequenceInOrder=Yes
iscsid: >    MaxRecvDataSegmentLength=262144
iscsid: in ksend_pdu_begin
iscsid: send PDU began for hdr 48 bytes and data 504 bytes
iscsid: in kwritev
iscsid: wrote 48 bytes of PDU header
iscsid: in kwritev
iscsid: wrote 504 bytes of PDU data
iscsid: in ksend_pdu_end
iscsid: in __kipc_call
iscsid: in kwritev
iscsid: in nlpayload_read
iscsid: in nlpayload_read
iscsid: send PDU finished for conn 224:0    <-----


iscsid: sending login PDU with current stage 1, next stage 3, transit 0x80, 
isid 0x00023de00000 exp_statsn 2  <-----
iscsid: >    InitiatorName=iqn.1994-05.com.redhat:8973f121285
iscsid: >    InitiatorAlias=localhost
iscsid: >    
TargetName=iqn.2007-11.com.nimblestorage:arr6-iscsi-vol-60062-v2adb271243103de8.00000175.69cb1afa
iscsid: >    SessionType=Normal
iscsid: >    HeaderDigest=None
iscsid: >    DataDigest=None
iscsid: >    DefaultTime2Wait=2
iscsid: >    DefaultTime2Retain=0
iscsid: >    IFMarker=No
iscsid: >    OFMarker=No
iscsid: >    ErrorRecoveryLevel=0
iscsid: >    InitialR2T=No
iscsid: >    ImmediateData=Yes
iscsid: >    MaxBurstLength=16776192
iscsid: >    FirstBurstLength=262144
iscsid: >    MaxOutstandingR2T=1
iscsid: >    MaxConnections=1
iscsid: >    DataPDUInOrder=Yes
iscsid: >    DataSequenceInOrder=Yes
iscsid: >    MaxRecvDataSegmentLength=262144
iscsid: in ksend_pdu_begin
iscsid: send PDU began for hdr 48 bytes and data 504 bytes
iscsid: in kwritev
iscsid: wrote 48 bytes of PDU header
iscsid: in kwritev
iscsid: wrote 504 bytes of PDU data
iscsid: in ksend_pdu_end
iscsid: in __kipc_call
iscsid: in kwritev
iscsid: in nlpayload_read
iscsid: in nlpayload_read
iscsid: send PDU finished for conn 480:0    <-----



Errors due to this.

data avail. Consumed 0
Jan 26 15:18:36 hiqa-sys-rhel2 kernel: connection480:0: iscsi_sw_tcp_recv read 
0 bytes status 1
Jan 26 15:18:39 hiqa-sys-rhel2 kernel: connection480:0: iscsi_sw_sk_state_check 
TCP_CLOSE|TCP_CLOSE_WAIT
Jan 26 16:04:49 hiqa-sys-rhel2 kernel: connection480:0: detected conn error 
(1020) ISCSI_ERR_TCP_CONN_CLOSE

Data IP intermittent failures.

[root@hiqa-sys-rhel2 ~]# cat 
/sys/class/iscsi_connection/connection480\:0/address 
cat: /sys/class/iscsi_connection/connection480:0/address: Transport endpoint is 
not connected
[root@hiqa-sys-rhel2 ~]# cat 
/sys/class/iscsi_connection/connection480\:0/address 
172.18.80.95
[root@hiqa-sys-rhel2 ~]# cat 
/sys/class/iscsi_connection/connection480\:0/address
172.18.80.95
[root@hiqa-sys-rhel2 ~]# cat 
/sys/class/iscsi_connection/connection480\:0/address
172.18.80.95
[root@hiqa-sys-rhel2 ~]# cat 
/sys/class/iscsi_connection/connection480\:0/address
cat: /sys/class/iscsi_connection/connection480:0/address: Transport endpoint is 
not connected


size=4.0G uuid=2414083771cb6a2846c9ce900fa1acb69 mount-device: 
/dev/nimblestorage/arr6-iscsi-vol-60062-2414083771cb6a2846c9ce900fa1acb69
target: 
iqn.2007-11.com.nimblestorage:arr6-iscsi-vol-60062-v2adb271243103de8.00000175.69cb1afa
 ` + array_id=1 device=/dev/dm-113
   |-  488:0:0:0  sddy 128:0   session=480 sess_st=LOGGED_IN  dev_st=running    
iface=default    tgtportal=172.18.80.96
   |-  552:0:0:0  sdbj  67:208 session=544 sess_st=LOGGED_IN  dev_st=running    
iface=default    tgtportal=172.18.80.96
   |-  600:0:0:0  sdhf 133:80  session=592 sess_st=LOGGED_IN  dev_st=running    
iface=default    tgtportal=172.18.160.88
   |-  232:0:0:0  sdha 133:0   session=224 sess_st=FAILED     dev_st=running    
iface=default    tgtportal=172.18.160.88



Volume Info.

[root@hiqa-sys-rhel2 ~]# sg_inq -p 0xd4 /dev/sdha
 Only hex output supported. sg_vpd decodes more pages.
VPD INQUIRY, page code=0xd4:
 00     00 d4 01 02 01 00 61 72  72 36 2d 69 73 63 73 69    ......arr6-iscsi
 10     2d 76 6f 6c 2d 36 30 30  36 32 00 00 00 00 00 00    -vol-60062......
        
[root@hiqa-sys-rhel2 ~]# sg_inq -p 0xd4 /dev/sddy
 Only hex output supported. sg_vpd decodes more pages.
VPD INQUIRY, page code=0xd4:
 00     00 d4 01 02 01 00 61 72  72 36 2d 69 73 63 73 69    ......arr6-iscsi
 10     2d 76 6f 6c 2d 36 30 30  36 32 00 00 00 00 00 00    -vol-60062......



Regards
Shiva Merla

-- 
You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/open-iscsi.
For more options, visit https://groups.google.com/d/optout.

Reply via email to