public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [Patch] NetworkPkg: iSCSI should allow to set 6 or 12 length of ISID keyword.
@ 2017-08-03  6:40 Fu Siyuan
  2017-08-03  8:37 ` Ye, Ting
  0 siblings, 1 reply; 3+ messages in thread
From: Fu Siyuan @ 2017-08-03  6:40 UTC (permalink / raw)
  To: edk2-devel; +Cc: Ye Ting, Wu Jiaxin

The last 3 bytes of ISID should be able to changed by setting the keyword with
a value with length 6 (only last 3 bytes) or 12 (full ISID) according to the
keyword definition in UEFI configuration namespace website.

Cc: Ye Ting <ting.ye@intel.com>
Cc: Wu Jiaxin <jiaxin.wu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
---
 NetworkPkg/IScsiDxe/IScsiConfig.c          | 8 ++++++--
 NetworkPkg/IScsiDxe/IScsiConfigStrings.uni | 1 +
 NetworkPkg/IScsiDxe/IScsiMisc.c            | 2 +-
 3 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/NetworkPkg/IScsiDxe/IScsiConfig.c b/NetworkPkg/IScsiDxe/IScsiConfig.c
index a588403..4bc9b8f 100644
--- a/NetworkPkg/IScsiDxe/IScsiConfig.c
+++ b/NetworkPkg/IScsiDxe/IScsiConfig.c
@@ -205,11 +205,11 @@ IScsiParseIsIdFromString (
 
   IsIdStr = (CHAR16 *) String;
 
-  if (StrLen (IsIdStr) != 6) {
+  if (StrLen (IsIdStr) != 6 && StrLen (IsIdStr) != 12) {
     UnicodeSPrint (
       PortString,
       (UINTN) ISCSI_NAME_IFR_MAX_SIZE,
-      L"Error! Input is incorrect, please input 6 hex numbers!\n"
+      L"Error! Only last 3 bytes are configurable, please input 6 or 12 hex numbers!\n"
       );
 
     CreatePopUp (
@@ -222,6 +222,10 @@ IScsiParseIsIdFromString (
     return EFI_INVALID_PARAMETER;
   }
 
+  if (StrLen (IsIdStr) == 12) {
+    IsIdStr += 6;
+  }
+
   for (Index = 3; Index < 6; Index++) {
     CopyMem (TempStr, IsIdStr, sizeof (TempStr));
     TempStr[2] = L'\0';
diff --git a/NetworkPkg/IScsiDxe/IScsiConfigStrings.uni b/NetworkPkg/IScsiDxe/IScsiConfigStrings.uni
index 7952258..10583f8 100644
--- a/NetworkPkg/IScsiDxe/IScsiConfigStrings.uni
+++ b/NetworkPkg/IScsiDxe/IScsiConfigStrings.uni
@@ -99,3 +99,4 @@
                                         #language x-UEFI-ns "iSCSIDisplayAttemptList"
 #string STR_ISCSI_ATTEMPT_ORDER         #language en-US "New Attempt Order"
                                         #language x-UEFI-ns "iSCSIAttemptOrder"
+#string STR_ISCSI_ISID_HELP             #language en-US "The iSCSI ISID. Default value are derived from MAC address. Only last 3 bytes are configurable."
diff --git a/NetworkPkg/IScsiDxe/IScsiMisc.c b/NetworkPkg/IScsiDxe/IScsiMisc.c
index 2c93590..e20fe91 100644
--- a/NetworkPkg/IScsiDxe/IScsiMisc.c
+++ b/NetworkPkg/IScsiDxe/IScsiMisc.c
@@ -952,7 +952,7 @@ IScsiCreateKeywords (
       CONFIGURATION_VARSTORE_ID,
       (UINT16) (ATTEMPT_ISID_VAR_OFFSET + sizeof (KEYWORD_STR) * (Index - 1)),
       StringToken,
-      StringToken,
+      STRING_TOKEN (STR_ISCSI_ISID_HELP),
       0,
       0,
       ISID_CONFIGURABLE_MIN_LEN,
-- 
1.9.5.msysgit.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-08-03  8:36 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-03  6:40 [Patch] NetworkPkg: iSCSI should allow to set 6 or 12 length of ISID keyword Fu Siyuan
2017-08-03  8:37 ` Ye, Ting
2017-08-03  8:38   ` Fu, Siyuan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox