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 [email protected]
To unsubscribe from this group, send email to
[email protected]
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 &&