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
INITIATORRECVDATASEGMENTLENGTH and TARGETRECVDATASEGMENTLENGTH for
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..?
--nab
Nic,
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
IB_WC_REM_OP_ERR
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
phase.
Can you post a target side dump with dynamic debugging enabled with the
following..?
echo 'module iscsi_target_mod +p' > /debug/dynamic_debug/control
echo 'module ib_isert +p' > /debug/dynamic_debug/control
--nab
there you go, here's the output
isert_cma_handler: event 4 status 0 conn ffff88011a55d600 id
ffff8801085c5400
RDMA_CM_EVENT_CONNECT_REQUEST: >>>>>>>>>>>>>>>
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.
Moving to TARG_CONN_STATE_XPT_UP.
isert_get_login_rx before conn_login_comp conn: ffff880119860000
isert_cma_handler: event 9 status 0 conn ffff880111939800 id
ffff8801085c5400
RDMA_CM_EVENT_ESTABLISHED >>>>>>>>>>>>>>
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 192.168.20.201 on IB/iSER Network
Portal 192.168.20.199:3271
Moving to TARG_CONN_STATE_IN_LOGIN.
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
Moving to TARG_CONN_STATE_LOGGED_IN.
------------------------------------------------------------------
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
------------------------------------------------------------------
Moving to TARG_SESS_STATE_LOGGED_IN.
iSCSI Login successful on CID: 0 from 192.168.20.201 to
192.168.20.199:3271,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
Moving to TARG_CONN_STATE_FREE.
ISER req_buf: Using rx_dma: 0xc5800000, rx_buflen: 8268
iSCSI opcode: 0x04, ITT: 0x00000000, flags: 0x80 dlen: 16
ISER ISCSI_CTRL PDU
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
RDMA_CM_EVENT_DISCONNECTED: >>>>>>>>>>>>>>
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.