On Sep 16, 2009, at 4:06 PM, Mike Christie wrote:

> 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?

Yes exactly.

> If so, I think this patch will work for the default case.

Ok, I will pass this off to Or and to Mike Berg, I think.  Let me know  
if I can do anything to assist further!

Thanks for your rapid response, Mike (Christie).

/jb


>
> >
> 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 &&


--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to