MdePkg: Add definition for NVMe Over Fabric Device Path

In accordance with UEFI 2.10 Specification:
Adding definition for NVMe Over Fabric (NVMe-oF) Device Path
of Messaging Sub-Type.

Cc: Felix Polyudov <felixp@ami.com>
Cc: Dhanaraj V <vdhanaraj@ami.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Signed-off-by: Sachin Ganesh <sachinganesh@ami.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
diff --git a/MdePkg/Include/Protocol/DevicePath.h b/MdePkg/Include/Protocol/DevicePath.h
index 9060dd7..35008dd 100644
--- a/MdePkg/Include/Protocol/DevicePath.h
+++ b/MdePkg/Include/Protocol/DevicePath.h
@@ -838,6 +838,26 @@
 } NVME_NAMESPACE_DEVICE_PATH;

 

 ///

+/// NVMe over Fabric (NVMe-oF) Namespace Device Path SubType.

+///

+#define MSG_NVME_OF_NAMESPACE_DP  0x22

+typedef struct {

+  EFI_DEVICE_PATH_PROTOCOL    Header;

+  ///

+  /// Namespace Identifier Type (NIDT)

+  ///

+  UINT8                       NamespaceIdType;

+  ///

+  /// Namespace Identifier (NID)

+  ///

+  UINT8                       NamespaceId[16];

+  ///

+  /// Unique identifier of an NVM subsystem

+  ///

+  CHAR8                       SubsystemNqn[];

+} NVME_OF_NAMESPACE_DEVICE_PATH;

+

+///

 /// DNS Device Path SubType

 ///

 #define MSG_DNS_DP  0x1F

@@ -1287,6 +1307,7 @@
   SAS_DEVICE_PATH                            Sas;

   SASEX_DEVICE_PATH                          SasEx;

   NVME_NAMESPACE_DEVICE_PATH                 NvmeNamespace;

+  NVME_OF_NAMESPACE_DEVICE_PATH              NvmeOfNamespace;

   DNS_DEVICE_PATH                            Dns;

   URI_DEVICE_PATH                            Uri;

   BLUETOOTH_DEVICE_PATH                      Bluetooth;

@@ -1343,6 +1364,7 @@
   SAS_DEVICE_PATH                            *Sas;

   SASEX_DEVICE_PATH                          *SasEx;

   NVME_NAMESPACE_DEVICE_PATH                 *NvmeNamespace;

+  NVME_OF_NAMESPACE_DEVICE_PATH              *NvmeOfNamespace;

   DNS_DEVICE_PATH                            *Dns;

   URI_DEVICE_PATH                            *Uri;

   BLUETOOTH_DEVICE_PATH                      *Bluetooth;