]> git.proxmox.com Git - mirror_edk2.git/commitdiff
OvmfPkg: enable the IPv6 support
authorGary Lin <glin@suse.com>
Fri, 19 Dec 2014 19:13:44 +0000 (19:13 +0000)
committerlersek <lersek@Edk2>
Fri, 19 Dec 2014 19:13:44 +0000 (19:13 +0000)
There are several network stack drivers in MdeModulePkg or NetworkPkg.
Currently, we only use the drivers from MdeModulePkg which only provides
the IPv4 support. This commit adds the IPv6 drivers in NetworkPkg into
OVMF.

Here is the table of drivers from Laszlo.

currently included  related driver  add or replace
from MdeModulePkg   in NetworkPkg   from NetworkPkg
------------------  --------------  ---------------
SnpDxe              n/a             n/a
DpcDxe              n/a             n/a
MnpDxe              n/a             n/a
VlanConfigDxe       n/a             n/a
ArpDxe              n/a             n/a
Dhcp4Dxe            Dhcp6Dxe        add
Ip4ConfigDxe        Ip6Dxe          add
Ip4Dxe              Ip6Dxe          add
Mtftp4Dxe           Mtftp6Dxe       add
Tcp4Dxe             TcpDxe          replace
Udp4Dxe             Udp6Dxe         add
UefiPxeBcDxe        UefiPxeBcDxe    replace
IScsiDxe            IScsiDxe        replace

Since the TcpDxe, UefiPxeBcDxe, and IScsiDxe drivers in NetworkPkg also
support IPv4, we replace the ones in MdeModulePkg.

To enable the IPv6 support, build OVMF with "-D NETWORK_IP6_ENABLE".
A special case is NetworkPkg/IScsiDxe. It requires openssl. For convenience,
NetworkPkg/IScsiDxe is enabled only if both IPv6 and SecureBoot are enabled.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gary Lin <glin@suse.com>
[lersek@redhat.com: typo fix in commit message; specil -> special]
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16543 6f19259b-4bc3-4df7-8a09-765794883524

OvmfPkg/OvmfPkgIa32.dsc
OvmfPkg/OvmfPkgIa32.fdf
OvmfPkg/OvmfPkgIa32X64.dsc
OvmfPkg/OvmfPkgIa32X64.fdf
OvmfPkg/OvmfPkgX64.dsc
OvmfPkg/OvmfPkgX64.fdf

index 659810248a03d0c4a090a7a7f953eb305cc4e750..dca7c6e516034057a126294398aab395e5a2d145 100644 (file)
@@ -34,6 +34,7 @@
   # -D FLAG=VALUE\r
   #\r
   DEFINE SECURE_BOOT_ENABLE      = FALSE\r
+  DEFINE NETWORK_IP6_ENABLE      = FALSE\r
 \r
 [BuildOptions]\r
   GCC:*_UNIXGCC_*_CC_FLAGS             = -DMDEPKG_NDEBUG\r
   IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf\r
   OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf\r
   TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf\r
+!if $(NETWORK_IP6_ENABLE) == TRUE\r
+  TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf\r
+!endif\r
 !endif\r
 \r
   S3BootScriptLib|MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf\r
   MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf\r
   MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf\r
   MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf\r
-  MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf\r
   MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf\r
+!if $(NETWORK_IP6_ENABLE) == TRUE\r
+  NetworkPkg/Ip6Dxe/Ip6Dxe.inf\r
+  NetworkPkg/TcpDxe/TcpDxe.inf\r
+  NetworkPkg/Udp6Dxe/Udp6Dxe.inf\r
+  NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf\r
+  NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf\r
+  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf\r
+!if $(SECURE_BOOT_ENABLE) == TRUE\r
+  NetworkPkg/IScsiDxe/IScsiDxe.inf\r
+!else\r
+  MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf\r
+!endif\r
+!else\r
+  MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf\r
   MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf\r
   MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf\r
+!endif\r
   OvmfPkg/VirtioNetDxe/VirtioNet.inf\r
 \r
   #\r
index 932aefa22e0d06a7448c4d672778ee53d71421e5..f47e7ddc78342a098eaddb836afc1b7d91c12a4e 100644 (file)
@@ -308,10 +308,24 @@ FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
   INF  MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf\r
   INF  MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf\r
   INF  MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf\r
-  INF  MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf\r
   INF  MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf\r
+!if $(NETWORK_IP6_ENABLE) == TRUE\r
+  INF  NetworkPkg/Ip6Dxe/Ip6Dxe.inf\r
+  INF  NetworkPkg/TcpDxe/TcpDxe.inf\r
+  INF  NetworkPkg/Udp6Dxe/Udp6Dxe.inf\r
+  INF  NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf\r
+  INF  NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf\r
+  INF  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf\r
+!if $(SECURE_BOOT_ENABLE) == TRUE\r
+  INF  NetworkPkg/IScsiDxe/IScsiDxe.inf\r
+!else\r
+  INF  MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf\r
+!endif\r
+!else\r
+  INF  MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf\r
   INF  MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf\r
   INF  MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf\r
+!endif\r
   INF  OvmfPkg/VirtioNetDxe/VirtioNet.inf\r
 \r
 #\r
index 4de961f1ca8143145069524824539ae81f47fb99..085f43eaf11b2fe3ab069034b85e44c51a3eaa3d 100644 (file)
@@ -34,6 +34,7 @@
   # -D FLAG=VALUE\r
   #\r
   DEFINE SECURE_BOOT_ENABLE      = FALSE\r
+  DEFINE NETWORK_IP6_ENABLE      = FALSE\r
 \r
 [BuildOptions]\r
   GCC:*_UNIXGCC_*_CC_FLAGS             = -DMDEPKG_NDEBUG\r
   IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf\r
   OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf\r
   TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf\r
+!if $(NETWORK_IP6_ENABLE) == TRUE\r
+  TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf\r
+!endif\r
 !endif\r
 \r
   S3BootScriptLib|MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf\r
   MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf\r
   MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf\r
   MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf\r
-  MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf\r
   MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf\r
+!if $(NETWORK_IP6_ENABLE) == TRUE\r
+  NetworkPkg/Ip6Dxe/Ip6Dxe.inf\r
+  NetworkPkg/TcpDxe/TcpDxe.inf\r
+  NetworkPkg/Udp6Dxe/Udp6Dxe.inf\r
+  NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf\r
+  NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf\r
+  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf\r
+!if $(SECURE_BOOT_ENABLE) == TRUE\r
+  NetworkPkg/IScsiDxe/IScsiDxe.inf\r
+!else\r
+  MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf\r
+!endif\r
+!else\r
+  MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf\r
   MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf\r
   MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf\r
+!endif\r
   OvmfPkg/VirtioNetDxe/VirtioNet.inf\r
 \r
   #\r
index 048d8bfc2df8e260690ed3ac8d7f60507dfb5fe2..4c034460d5d2faa1a810986ce903175156fe6b7b 100644 (file)
@@ -308,10 +308,24 @@ FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
   INF  MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf\r
   INF  MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf\r
   INF  MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf\r
-  INF  MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf\r
   INF  MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf\r
+!if $(NETWORK_IP6_ENABLE) == TRUE\r
+  INF  NetworkPkg/Ip6Dxe/Ip6Dxe.inf\r
+  INF  NetworkPkg/TcpDxe/TcpDxe.inf\r
+  INF  NetworkPkg/Udp6Dxe/Udp6Dxe.inf\r
+  INF  NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf\r
+  INF  NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf\r
+  INF  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf\r
+!if $(SECURE_BOOT_ENABLE) == TRUE\r
+  INF  NetworkPkg/IScsiDxe/IScsiDxe.inf\r
+!else\r
+  INF  MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf\r
+!endif\r
+!else\r
+  INF  MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf\r
   INF  MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf\r
   INF  MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf\r
+!endif\r
   INF  OvmfPkg/VirtioNetDxe/VirtioNet.inf\r
 \r
 #\r
index 6c38081de1c3efff96e4312e2ee577dfd5de74d1..17d674cd344d6702295662ca5197cb13538e00c2 100644 (file)
@@ -34,6 +34,7 @@
   # -D FLAG=VALUE\r
   #\r
   DEFINE SECURE_BOOT_ENABLE      = FALSE\r
+  DEFINE NETWORK_IP6_ENABLE      = FALSE\r
 \r
 [BuildOptions]\r
   GCC:*_UNIXGCC_*_CC_FLAGS             = -DMDEPKG_NDEBUG\r
   IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf\r
   OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf\r
   TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf\r
+!if $(NETWORK_IP6_ENABLE) == TRUE\r
+  TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf\r
+!endif\r
 !endif\r
 \r
   S3BootScriptLib|MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf\r
   MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf\r
   MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf\r
   MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf\r
-  MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf\r
   MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf\r
+!if $(NETWORK_IP6_ENABLE) == TRUE\r
+  NetworkPkg/Ip6Dxe/Ip6Dxe.inf\r
+  NetworkPkg/TcpDxe/TcpDxe.inf\r
+  NetworkPkg/Udp6Dxe/Udp6Dxe.inf\r
+  NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf\r
+  NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf\r
+  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf\r
+!if $(SECURE_BOOT_ENABLE) == TRUE\r
+  NetworkPkg/IScsiDxe/IScsiDxe.inf\r
+!else\r
+  MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf\r
+!endif\r
+!else\r
+  MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf\r
   MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf\r
   MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf\r
+!endif\r
   OvmfPkg/VirtioNetDxe/VirtioNet.inf\r
 \r
   #\r
index bcf0b9d6525a7acda963ebbf7ad54bb34061258a..2323eb2edf33c56ff3a077fcdeed1eafa8de560d 100644 (file)
@@ -308,10 +308,24 @@ FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
   INF  MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf\r
   INF  MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf\r
   INF  MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf\r
-  INF  MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf\r
   INF  MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf\r
+!if $(NETWORK_IP6_ENABLE) == TRUE\r
+  INF  NetworkPkg/Ip6Dxe/Ip6Dxe.inf\r
+  INF  NetworkPkg/TcpDxe/TcpDxe.inf\r
+  INF  NetworkPkg/Udp6Dxe/Udp6Dxe.inf\r
+  INF  NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf\r
+  INF  NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf\r
+  INF  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf\r
+!if $(SECURE_BOOT_ENABLE) == TRUE\r
+  INF  NetworkPkg/IScsiDxe/IScsiDxe.inf\r
+!else\r
+  INF  MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf\r
+!endif\r
+!else\r
+  INF  MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf\r
   INF  MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf\r
   INF  MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf\r
+!endif\r
   INF  OvmfPkg/VirtioNetDxe/VirtioNet.inf\r
 \r
 #\r