Mike Christie wrote: > Jesse Butler wrote: >> No, that was an old copy of the RFC. Current valid values are >> >> MaxOutstandingUnexpectedPDUs=<numerical-value-from-2-to-(2**32-1) | 0 >> >> which means we're just fine replying w/ "0". >> >> Is this a bug on the OpeniSCSI side, where you're intercepting an iSER >> key-value and failing since you don't recognize it, rather than >> passing it down? > > This is a bug on the initiator side. Open-iscsi just has no code to > handle this key. I guess the iser guys just never implemented it (ccing Or). >
Hey, so MaxOutstandingUnexpectedPDU is for iser only right and 0 means there is no limit? If so, I think this patch will work for the default case. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "open-iscsi" group. To post to this group, send email to open-iscsi@googlegroups.com To unsubscribe from this group, send email to open-iscsi+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/open-iscsi -~----------~----~----~----~------~----~------~--~---
diff --git a/usr/login.c b/usr/login.c index 0235870..74813a9 100644 --- a/usr/login.c +++ b/usr/login.c @@ -544,6 +544,21 @@ get_op_params_text_keys(iscsi_session_t *session, int cid, return LOGIN_NEGOTIATION_FAILED; } text = value_end; + } else if (iscsi_find_key_value("MaxOutstandingUnexpectedPDU", text, + end, &value, &value_end)) { + if (!session->t->template->rdma) { + log_error("Login negotiation failed. Can't accept " + "MaxOutstandingUnexpectedPDU for non " + "RDMA connections."); + return LOGIN_NEGOTIATION_FAILED; + } + + if (strcmp(value, "0")) { + log_error("Login negotiation failed. iSER initiator " + "only supports MaxOutstandingUnexpectedPDU " + "of 0.\n"); + return LOGIN_NEGOTIATION_FAILED; + } } else if (iscsi_find_key_value("RDMAExtensions", text, end, &value, &value_end)) { if (session->t->template->rdma &&