Some simple value negotiation responses are optional, in particular DataPDUInOrder and DataSequenceInOrder. If we send "Yes", then the response from the target is optional, and the Linux target implementation does not return a response.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Roy Franz roy.franz@linaro.org --- MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c index cb1f79b..b8427ab 100644 --- a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c +++ b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c @@ -1290,9 +1290,11 @@ IScsiCheckOpParams (
// // DataPDUInOrder, result function is OR. + // The response is optional if we sent "Yes". + // The AsciiStrCmp is not done if we sent "Yes", so it is OK for Value to be NULL // Value = IScsiGetValueByKeyFromList (KeyValueList, ISCSI_KEY_DATA_PDU_IN_ORDER); - if (Value == NULL) { + if (!Session->DataPDUInOrder && Value == NULL) { goto ON_ERROR; }
@@ -1300,9 +1302,11 @@ IScsiCheckOpParams (
// // DataSequenceInorder, result function is OR. + // The response is optional if we sent "Yes". + // The AsciiStrCmp is not done if we sent "Yes", so it is OK for Value to be NULL // Value = IScsiGetValueByKeyFromList (KeyValueList, ISCSI_KEY_DATA_SEQUENCE_IN_ORDER); - if (Value == NULL) { + if (!Session->DataSequenceInOrder && Value == NULL) { goto ON_ERROR; }
Thanks, Franz
We are reviewing this patch and will get back to you if we have comments.
Thanks Feng
-----Original Message----- From: Roy Franz [mailto:roy.franz@linaro.org] Sent: Saturday, January 24, 2015 09:12 To: edk2-devel@lists.sourceforge.net; linaro-uefi@lists.linaro.org; Tian, Feng Cc: Roy Franz Subject: [PATCH] Don't require optional ISCSI negotiation responses.
Some simple value negotiation responses are optional, in particular DataPDUInOrder and DataSequenceInOrder. If we send "Yes", then the response from the target is optional, and the Linux target implementation does not return a response.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Roy Franz roy.franz@linaro.org --- MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c index cb1f79b..b8427ab 100644 --- a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c +++ b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c @@ -1290,9 +1290,11 @@ IScsiCheckOpParams (
// // DataPDUInOrder, result function is OR. + // The response is optional if we sent "Yes". + // The AsciiStrCmp is not done if we sent "Yes", so it is OK for + Value to be NULL // Value = IScsiGetValueByKeyFromList (KeyValueList, ISCSI_KEY_DATA_PDU_IN_ORDER); - if (Value == NULL) { + if (!Session->DataPDUInOrder && Value == NULL) { goto ON_ERROR; }
@@ -1300,9 +1302,11 @@ IScsiCheckOpParams (
// // DataSequenceInorder, result function is OR. + // The response is optional if we sent "Yes". + // The AsciiStrCmp is not done if we sent "Yes", so it is OK for + Value to be NULL // Value = IScsiGetValueByKeyFromList (KeyValueList, ISCSI_KEY_DATA_SEQUENCE_IN_ORDER); - if (Value == NULL) { + if (!Session->DataSequenceInOrder && Value == NULL) { goto ON_ERROR; }
-- 1.9.1
Hi Franz,
Thanks for providing the patch. We agree with the update and will check in your patch recently. Could you please let us know which Linux iSCSI target triggers this error? We may add more test items in future.
Best Regards, Ye Ting
-----Original Message----- From: Tian, Feng [mailto:feng.tian@intel.com] Sent: Monday, January 26, 2015 8:30 AM To: Roy Franz; edk2-devel@lists.sourceforge.net; linaro-uefi@lists.linaro.org Subject: Re: [edk2] [PATCH] Don't require optional ISCSI negotiation responses.
Thanks, Franz
We are reviewing this patch and will get back to you if we have comments.
Thanks Feng
-----Original Message----- From: Roy Franz [mailto:roy.franz@linaro.org] Sent: Saturday, January 24, 2015 09:12 To: edk2-devel@lists.sourceforge.net; linaro-uefi@lists.linaro.org; Tian, Feng Cc: Roy Franz Subject: [PATCH] Don't require optional ISCSI negotiation responses.
Some simple value negotiation responses are optional, in particular DataPDUInOrder and DataSequenceInOrder. If we send "Yes", then the response from the target is optional, and the Linux target implementation does not return a response.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Roy Franz roy.franz@linaro.org --- MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c index cb1f79b..b8427ab 100644 --- a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c +++ b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c @@ -1290,9 +1290,11 @@ IScsiCheckOpParams (
// // DataPDUInOrder, result function is OR. + // The response is optional if we sent "Yes". + // The AsciiStrCmp is not done if we sent "Yes", so it is OK for + Value to be NULL // Value = IScsiGetValueByKeyFromList (KeyValueList, ISCSI_KEY_DATA_PDU_IN_ORDER); - if (Value == NULL) { + if (!Session->DataPDUInOrder && Value == NULL) { goto ON_ERROR; }
@@ -1300,9 +1302,11 @@ IScsiCheckOpParams (
// // DataSequenceInorder, result function is OR. + // The response is optional if we sent "Yes". + // The AsciiStrCmp is not done if we sent "Yes", so it is OK for + Value to be NULL // Value = IScsiGetValueByKeyFromList (KeyValueList, ISCSI_KEY_DATA_SEQUENCE_IN_ORDER); - if (Value == NULL) { + if (!Session->DataSequenceInOrder && Value == NULL) { goto ON_ERROR; }
-- 1.9.1
------------------------------------------------------------------------------ Dive into the World of Parallel Programming. The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel
On Fri, Jan 30, 2015 at 12:17 AM, Ye, Ting ting.ye@intel.com wrote:
Hi Franz,
Thanks for providing the patch. We agree with the update and will check in your patch recently. Could you please let us know which Linux iSCSI target triggers this error? We may add more test items in future.
Best Regards, Ye Ting
Hi Ye,
I am using the built in LIO iscsi_target in Linux, and configuring it with targetcli, following the instructions here: http://www.linux-iscsi.org/wiki/ISCSI
Thanks, Roy
-----Original Message----- From: Tian, Feng [mailto:feng.tian@intel.com] Sent: Monday, January 26, 2015 8:30 AM To: Roy Franz; edk2-devel@lists.sourceforge.net; linaro-uefi@lists.linaro.org Subject: Re: [edk2] [PATCH] Don't require optional ISCSI negotiation responses.
Thanks, Franz
We are reviewing this patch and will get back to you if we have comments.
Thanks Feng
-----Original Message----- From: Roy Franz [mailto:roy.franz@linaro.org] Sent: Saturday, January 24, 2015 09:12 To: edk2-devel@lists.sourceforge.net; linaro-uefi@lists.linaro.org; Tian, Feng Cc: Roy Franz Subject: [PATCH] Don't require optional ISCSI negotiation responses.
Some simple value negotiation responses are optional, in particular DataPDUInOrder and DataSequenceInOrder. If we send "Yes", then the response from the target is optional, and the Linux target implementation does not return a response.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Roy Franz roy.franz@linaro.org
MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c index cb1f79b..b8427ab 100644 --- a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c +++ b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c @@ -1290,9 +1290,11 @@ IScsiCheckOpParams (
// // DataPDUInOrder, result function is OR.
- // The response is optional if we sent "Yes".
- // The AsciiStrCmp is not done if we sent "Yes", so it is OK for
- Value to be NULL // Value = IScsiGetValueByKeyFromList (KeyValueList, ISCSI_KEY_DATA_PDU_IN_ORDER);
- if (Value == NULL) {
- if (!Session->DataPDUInOrder && Value == NULL) { goto ON_ERROR; }
@@ -1300,9 +1302,11 @@ IScsiCheckOpParams (
// // DataSequenceInorder, result function is OR.
- // The response is optional if we sent "Yes".
- // The AsciiStrCmp is not done if we sent "Yes", so it is OK for
- Value to be NULL // Value = IScsiGetValueByKeyFromList (KeyValueList, ISCSI_KEY_DATA_SEQUENCE_IN_ORDER);
- if (Value == NULL) {
- if (!Session->DataSequenceInOrder && Value == NULL) { goto ON_ERROR; }
-- 1.9.1
Dive into the World of Parallel Programming. The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel
Hi Roy,
Thanks for your info. For your information only - the patch is already checked in (revision 16700).
Best Regards, Ye Ting
-----Original Message----- From: Roy Franz [mailto:roy.franz@linaro.org] Sent: Saturday, January 31, 2015 9:55 AM To: Ye, Ting Cc: edk2-devel@lists.sourceforge.net; linaro-uefi@lists.linaro.org Subject: Re: [edk2] [PATCH] Don't require optional ISCSI negotiation responses.
On Fri, Jan 30, 2015 at 12:17 AM, Ye, Ting ting.ye@intel.com wrote:
Hi Franz,
Thanks for providing the patch. We agree with the update and will check in your patch recently. Could you please let us know which Linux iSCSI target triggers this error? We may add more test items in future.
Best Regards, Ye Ting
Hi Ye,
I am using the built in LIO iscsi_target in Linux, and configuring it with targetcli, following the instructions here: http://www.linux-iscsi.org/wiki/ISCSI
Thanks, Roy
-----Original Message----- From: Tian, Feng [mailto:feng.tian@intel.com] Sent: Monday, January 26, 2015 8:30 AM To: Roy Franz; edk2-devel@lists.sourceforge.net; linaro-uefi@lists.linaro.org Subject: Re: [edk2] [PATCH] Don't require optional ISCSI negotiation responses.
Thanks, Franz
We are reviewing this patch and will get back to you if we have comments.
Thanks Feng
-----Original Message----- From: Roy Franz [mailto:roy.franz@linaro.org] Sent: Saturday, January 24, 2015 09:12 To: edk2-devel@lists.sourceforge.net; linaro-uefi@lists.linaro.org; Tian, Feng Cc: Roy Franz Subject: [PATCH] Don't require optional ISCSI negotiation responses.
Some simple value negotiation responses are optional, in particular DataPDUInOrder and DataSequenceInOrder. If we send "Yes", then the response from the target is optional, and the Linux target implementation does not return a response.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Roy Franz roy.franz@linaro.org
MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c index cb1f79b..b8427ab 100644 --- a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c +++ b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c @@ -1290,9 +1290,11 @@ IScsiCheckOpParams (
// // DataPDUInOrder, result function is OR.
- // The response is optional if we sent "Yes".
- // The AsciiStrCmp is not done if we sent "Yes", so it is OK for
- Value to be NULL // Value = IScsiGetValueByKeyFromList (KeyValueList, ISCSI_KEY_DATA_PDU_IN_ORDER);
- if (Value == NULL) {
- if (!Session->DataPDUInOrder && Value == NULL) { goto ON_ERROR; }
@@ -1300,9 +1302,11 @@ IScsiCheckOpParams (
// // DataSequenceInorder, result function is OR.
- // The response is optional if we sent "Yes".
- // The AsciiStrCmp is not done if we sent "Yes", so it is OK for
- Value to be NULL // Value = IScsiGetValueByKeyFromList (KeyValueList, ISCSI_KEY_DATA_SEQUENCE_IN_ORDER);
- if (Value == NULL) {
- if (!Session->DataSequenceInOrder && Value == NULL) { goto ON_ERROR; }
-- 1.9.1
Dive into the World of Parallel Programming. The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel