]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.c
Update ISID to fixed value: first 3 bytes are derived from MAC address while the...
[mirror_edk2.git] / MdeModulePkg / Universal / Network / IScsiDxe / IScsiProto.c
index 2390737f25186d6a694642c4253aabcfbb79fe73..3836053d932e1e925e183d9c589644dcf35dd877 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   The implementation of iSCSI protocol based on RFC3720.\r
 \r
-Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>\r
 This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
@@ -302,6 +302,11 @@ IScsiSessionLogin (
     return EFI_NO_MEDIA;\r
   }\r
 \r
+  //\r
+  // Set session identifier\r
+  //\r
+  CopyMem (Session->Isid, Session->ConfigData.NvData.IsId, 6);\r
+\r
   //\r
   // Create a connection for the session.\r
   //\r
@@ -2681,21 +2686,10 @@ IScsiSessionInit (
   IN BOOLEAN            Recovery\r
   )\r
 {\r
-  UINT32  Random;\r
-\r
   if (!Recovery) {\r
     Session->Signature  = ISCSI_SESSION_SIGNATURE;\r
     Session->State      = SESSION_STATE_FREE;\r
 \r
-    Random              = NET_RANDOM (NetRandomInitSeed ());\r
-\r
-    Session->Isid[0]    = ISID_BYTE_0;\r
-    Session->Isid[1]    = ISID_BYTE_1;\r
-    Session->Isid[2]    = ISID_BYTE_2;\r
-    Session->Isid[3]    = ISID_BYTE_3;\r
-    Session->Isid[4]    = (UINT8) Random;\r
-    Session->Isid[5]    = (UINT8) (Random >> 8);\r
-\r
     InitializeListHead (&Session->Conns);\r
     InitializeListHead (&Session->TcbList);\r
   }\r