On 20/06/2013 23:31, Nicholas A. Bellinger wrote:
On Thu, 2013-06-20 at 19:01 +0300, Or Gerlitz wrote:
On 19/06/2013 04:32, Nicholas A. Bellinger wrote:
So I'm pretty sure this is due to iscsi_target_parameters.c:
iscsi_set_keys_irrelevant_for_discovery() currently clearing
all discovery scenarios..

As I'm still not yet able to force iser discovery to occur on the
initiator side, can you give the following patch a shot on your setup..?


I see that this patch exists in the queue branch of your target-pending
tree, so I tested with that branch and still faced problems. So what
happens now is that the login of the discovery session works fine!
<nod>, thanks for verifying that particular bit..

But, the sending over the IB connection of the TEXT PDU containing
Sendtargets=Allwhich is 16 byte long

iscsiadm: in kstart_conn
iscsiadm: in __kipc_call
iscsiadm: in kwritev
iscsiadm: in nlpayload_read
iscsiadm: in nlpayload_read
iscsiadm: sending text pdu with CmdSN 1, exp_statsn 1
iscsiadm: >    SendTargets=All
iscsiadm: in ksend_pdu_begin
iscsiadm: send PDU began for hdr 48 bytes and data 16 bytes
iscsiadm: in kwritev
iscsiadm: wrote 48 bytes of PDU header
iscsiadm: in kwritev
iscsiadm: wrote 16 bytes of PDU data
iscsiadm: in ksend_pdu_end
iscsiadm: in __kipc_call
iscsiadm: in kwritev
iscsiadm: in nlpayload_read
iscsiadm: in nlpayload_read
iscsiadm: send PDU finished for conn 28:0

fails, that is the kernel iser driver gets TX completion with error

iser: iser_drain_tx_cq:tx id ffff88006facac98 status 11 vend_err 89

Is there a chance you don't post RX buffer which is large enough to hold
these 48 + 16 bytes in case this is discovery and not normal session?

AFAICT, the isert_put_login_tx() -> isert_alloc_rx_descriptors() ->
isert_post_recv() is happening for both types of sessions, before the
last login response is posted and login state moves to full feature

Can you post a target side dump with dynamic debugging enabled with the

echo 'module iscsi_target_mod +p' > /debug/dynamic_debug/control
echo 'module ib_isert +p' > /debug/dynamic_debug/control


there you go, here's the output

isert_cma_handler: event 4 status 0 conn ffff88011a55d600 id ffff8801085c5400
Entering isert_connect_request cma_id: ffff8801085c5400, context: ffff88011a55d600
Using responder_resources: 1 initiator_depth: 4
Set login_buf: ffff880116a38000 login_req_buf: ffff880116a38000 login_rsp_buf: ffff880116a3a000
Using 3 CQs, device mlx4_0 supports 3 vectors
devattr->max_sge: 32
devattr->max_sge_rd: 0
isert_conn_setup_qp: Using min_index: 0
isert_conn_setup_qp cma_id->device: ffff8801168b0000
isert_conn_setup_qp conn_pd->device: ffff8801168b0000
rdma_create_qp() returned success >>>>>>>>>>>>>>>>>>>>>>>>>.
isert_connect_request() waking up np_accept_wq: ffff88011a55d600
Setup sge: addr: 116a38000 length: 8268 0x00017200
ib_post_recv(): returned success >>>>>>>>>>>>>>>>>>>>>>>>
Before rdma_accept >>>>>>>>>>>>>>>>>>>>.
After rdma_accept >>>>>>>>>>>>>>>>>>>>>.
Processing isert_accept_np: isert_conn: ffff880111939800
Added timeout timer to iSCSI login request for 15 seconds.
isert_get_login_rx before conn_login_comp conn: ffff880119860000
isert_cma_handler: event 9 status 0 conn ffff880111939800 id ffff8801085c5400
ISER login_buf: Using rx_dma: 0x116a38000, rx_buflen: 8268
iSCSI opcode: 0x43, ITT: 0x00000000, flags: 0x87 dlen: 248
Using login payload size: 248, rx_buflen: 248 MAX_KEY_VALUE_PAIRS: 8192
iSERT: Decremented post_recv_buf_count: 0
isert_get_login_rx processing login->req: ffff880106de1024
Received iSCSI login request from on IB/iSER Network Portal
i_buf: iqn.1994-05.com.redhat:308a2565a30, s_buf: Discovery, t_buf: (null)
Got key: InitiatorName=iqn.1994-05.com.redhat:308a2565a30
iSCSI Parameter updated to InitiatorName=iqn.1994-05.com.redhat:308a2565a30
Got key: InitiatorAlias=xena017-4
iSCSI Parameter updated to InitiatorAlias=xena017-4
Got key: SessionType=Discovery
iSCSI Parameter updated to SessionType=Discovery
Got key: HeaderDigest=None
iSCSI Parameter updated to HeaderDigest=None
Got key: DataDigest=None
iSCSI Parameter updated to DataDigest=None
Got key: DefaultTime2Wait=2
iSCSI Parameter updated to DefaultTime2Wait=2
Got key: DefaultTime2Retain=0
iSCSI Parameter updated to DefaultTime2Retain=0
Got key: IFMarker=No
iSCSI Parameter updated to IFMarker=No
Got key: OFMarker=No
iSCSI Parameter updated to OFMarker=No
Got key: ErrorRecoveryLevel=0
iSCSI Parameter updated to ErrorRecoveryLevel=0
Got key: MaxRecvDataSegmentLength=8192
iSCSI Parameter updated to MaxRecvDataSegmentLength=8192
Saving op->MaxRecvDataSegmentLength from original initiator received value: 8192
iSCSI Parameter updated to MaxRecvDataSegmentLength=262144
Updated MaxRecvDataSegmentLength to target MXDSL value: 262144
iSCSI Parameter updated to IFMarker=No
Reset "IFMarker" to "No".
iSCSI Parameter updated to OFMarker=No
Reset "OFMarker" to "No".
iSCSI Parameter updated to IFMarkInt=Irrelevant
Reset "IFMarkInt" to "Irrelevant".
iSCSI Parameter updated to OFMarkInt=Irrelevant
Reset "OFMarkInt" to "Irrelevant".
Sending key: HeaderDigest=None
Sending key: DataDigest=None
Sending key: TargetAlias=LIO Target
Sending key: TargetPortalGroupTag=1
Sending key: MaxRecvDataSegmentLength=262144
Sending key: DefaultTime2Wait=2
Sending key: DefaultTime2Retain=0
Sending key: ErrorRecoveryLevel=0
Sending Login Response, Flags: 0x87, ITT: 0x00000000, ExpCmdSN; 0x00000001, MaxCmdSN: 0x00000001, StatSN: 0xe60efbf1, Length: 173
tx_desc ffff880111939cc0 lkey mismatch, fixing
isert_init_tx_hdrs: Setup tx_sg[0].addr: 0x111939cc0 length: 76 lkey: 0x00017200
isert_post_recv(): Posted 32 RX buffers
HeaderDigest:                 None
DataDigest:                   None
MaxRecvDataSegmentLength:     8192
Calling ib_dma_unmap_single for tx_desc->dma_addr
IFMarker:                     No
OFMarker:                     No
InitiatorName: iqn.1994-05.com.redhat:308a2565a30
TargetAlias:                  LIO Target
InitiatorAlias:               xena017-4
TargetPortalGroupTag:         1
DefaultTime2Wait:             2
DefaultTime2Retain:           0
ErrorRecoveryLevel:           0
SessionType:                  Discovery
iSCSI Login successful on CID: 0 from to,1 Incremented iSCSI Connection count to 1 from node: iqn.1994-05.com.redhat:308a2565a30
Established iSCSI session from node: iqn.1994-05.com.redhat:308a2565a30
Incremented number of active iSCSI sessions to 1 on iSCSI Target Portal Group: 1
ISER req_buf: Using rx_dma: 0xc5800000, rx_buflen: 8268
iSCSI opcode: 0x04, ITT: 0x00000000, flags: 0x80 dlen: 16
Unable to accept text parameter length: 16greater than MaxXmitDataSegmentLength 0.
tx_desc ffff8800c51207c8 lkey mismatch, fixing
isert_init_tx_hdrs: Setup tx_sg[0].addr: 0xc51207c8 length: 76 lkey: 0x00017200
Posting Reject IB_WR_SEND >>>>>>>>>>>>>>>>>>>>>>
isert_send_completion: Got ISER_IB_SEND
Calling ib_dma_unmap_single for tx_desc->dma_addr
Entering isert_put_cmd: ffff8800c5120000
Entering isert_release_cmd ffff8800c5120000 >>>>>>>>>>>>>>>.
isert_cma_handler: event 10 status 0 conn ffff880111939800 id ffff8801085c5400
isert_disconnect_work(): >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

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 open-iscsi+unsubscr...@googlegroups.com.
To post to this group, send email to open-iscsi@googlegroups.com.
Visit this group at http://groups.google.com/group/open-iscsi.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to