On 27/10/14 09:22, Ferenc Wagner wrote:
Mutual CHAP iSCSI login to our Fujitsu-Siemens Eternus DX80 device went into an infinite loop until I made the following change:--- a/src/net/tcp/iscsi.c +++ b/src/net/tcp/iscsi.c @@ -767,8 +767,9 @@ static void iscsi_start_login ( struct iscsi_session *iscsi ) { iscsi_start_tx ( iscsi ); request->opcode = ( ISCSI_OPCODE_LOGIN_REQUEST | ISCSI_FLAG_IMMEDIATE ); - request->flags = ( ( iscsi->status & ISCSI_STATUS_PHASE_MASK ) | - ISCSI_LOGIN_FLAG_TRANSITION ); + request->flags = iscsi->status & ISCSI_STATUS_PHASE_MASK; + if (iscsi->status & (ISCSI_STATUS_STRINGS_CHAP_RESPONSE | ISCSI_STATUS_STRINGS_OPERATIONAL)) + request->flags |= ISCSI_LOGIN_FLAG_TRANSITION; /* version_max and version_min left as zero */ len = iscsi_build_login_request_strings ( iscsi, NULL, 0 ); ISCSI_SET_LENGTHS ( request->lengths, 0, len );
That change breaks the use of unauthenticated connections: in that situation no CHAP response will never be sent and so the initiator will never request a transition.
What is the nature of the problem you are seeing with the DX80 target? Michael _______________________________________________ ipxe-devel mailing list [email protected] https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel

