summaryrefslogtreecommitdiff
path: root/NetworkPkg/UefiPxeBcDxe/PxeBcImpl.h
diff options
context:
space:
mode:
authorZhang Lubo <lubo.zhang@intel.com>2016-10-14 15:12:09 +0800
committerJiaxin Wu <jiaxin.wu@intel.com>2016-10-26 16:42:35 +0800
commit6692d5195477e2fb2f99159745e7a14814e56c3e (patch)
tree8b341319d4435bd609d41a450e152ad658c87517 /NetworkPkg/UefiPxeBcDxe/PxeBcImpl.h
parent581a7aca0404b5ff980bbc23601137756b95c769 (diff)
downloadedk2-6692d5195477e2fb2f99159745e7a14814e56c3e.zip
edk2-6692d5195477e2fb2f99159745e7a14814e56c3e.tar.gz
edk2-6692d5195477e2fb2f99159745e7a14814e56c3e.tar.bz2
NetworkPkg: Add dns support for pxe boot based on IPv6.
The BootFileURL option (59) in dhcpv6 is used to deliver the next server address with bootfile name, as an example "tftp://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]/BOOTFILE_NAME; mode=octet", it can also be “tftp://domain_name/BOOTFILE_NAME; mode=octet”, this patch is to support this case. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Zhang Lubo <lubo.zhang@intel.com> Cc: Ye Ting <ting.ye@intel.com> Cc: Fu Siyuan <siyuan.fu@intel.com> Cc: Wu Jiaxin <jiaxin.wu@intel.com> Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Diffstat (limited to 'NetworkPkg/UefiPxeBcDxe/PxeBcImpl.h')
-rw-r--r--NetworkPkg/UefiPxeBcDxe/PxeBcImpl.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/NetworkPkg/UefiPxeBcDxe/PxeBcImpl.h b/NetworkPkg/UefiPxeBcDxe/PxeBcImpl.h
index d0f5e5b..2cdc8bf 100644
--- a/NetworkPkg/UefiPxeBcDxe/PxeBcImpl.h
+++ b/NetworkPkg/UefiPxeBcDxe/PxeBcImpl.h
@@ -32,6 +32,7 @@
#include <Protocol/Udp6.h>
#include <Protocol/Dhcp4.h>
#include <Protocol/Dhcp6.h>
+#include <Protocol/Dns6.h>
#include <Protocol/Mtftp4.h>
#include <Protocol/Mtftp6.h>
#include <Protocol/PxeBaseCode.h>
@@ -136,6 +137,7 @@ struct _PXEBC_PRIVATE_DATA {
EFI_MTFTP6_PROTOCOL *Mtftp6;
EFI_UDP6_PROTOCOL *Udp6Read;
EFI_UDP6_PROTOCOL *Udp6Write;
+ EFI_DNS6_PROTOCOL *Dns6;
EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL *Nii;
EFI_PXE_BASE_CODE_PROTOCOL PxeBc;
@@ -169,6 +171,7 @@ struct _PXEBC_PRIVATE_DATA {
EFI_IP_ADDRESS SubnetMask;
EFI_IP_ADDRESS GatewayIp;
EFI_IP_ADDRESS ServerIp;
+ EFI_IPv6_ADDRESS *DnsServer;
UINT16 CurSrcPort;
UINT32 IaId;