mirror of https://github.com/acidanthera/audk.git
NetworkPkg: Add IPv6 DUID configuration support using platform PCD.
The code today always uses DUID-UUID unless there is an error in reading the UUID, which results in falling through to DUID-LLT. This change allows the platform to control the DUID method (DUID-UUID or DUID-LLT) using a platform dynamic PCD. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Samer El-Haj-Mahmoud <elhaj@hp.com> Reviewed-by: Fu Siyuan <siyuan.fu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17751 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
2ce8ce9b06
commit
c413813d61
|
@ -4,6 +4,7 @@
|
|||
# This driver produces EFI DHCPv6 Protocol which is used to get IPv6 addresses
|
||||
# and other configuration parameters from DHCPv6 servers.
|
||||
#
|
||||
# (C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>
|
||||
# Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
|
@ -51,7 +52,7 @@
|
|||
[Packages]
|
||||
MdePkg/MdePkg.dec
|
||||
MdeModulePkg/MdeModulePkg.dec
|
||||
|
||||
NetworkPkg/NetworkPkg.dec
|
||||
|
||||
[LibraryClasses]
|
||||
UefiLib
|
||||
|
@ -73,5 +74,9 @@
|
|||
gEfiDhcp6ProtocolGuid ## BY_START
|
||||
gEfiIp6ConfigProtocolGuid ## TO_START
|
||||
|
||||
|
||||
[Pcd]
|
||||
gEfiNetworkPkgTokenSpaceGuid.PcdDhcp6UidType
|
||||
|
||||
[UserExtensions.TianoCore."ExtraFiles"]
|
||||
Dhcp6DxeExtra.uni
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/** @file
|
||||
Dhcp6 support functions implementation.
|
||||
|
||||
(C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>
|
||||
Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
|
@ -63,7 +64,7 @@ Dhcp6GenerateClientId (
|
|||
//
|
||||
// If System UUID is found from SMBIOS Table, use DUID-UUID type.
|
||||
//
|
||||
if (!EFI_ERROR (NetLibGetSystemGuid (&Uuid))) {
|
||||
if ((PcdGet8 (PcdDhcp6UidType) == Dhcp6DuidTypeUuid) && !EFI_ERROR (NetLibGetSystemGuid (&Uuid))) {
|
||||
//
|
||||
//
|
||||
// The format of DUID-UUID:
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#
|
||||
# This package provides network modules that conform to UEFI 2.4 specification.
|
||||
#
|
||||
# (C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>
|
||||
# Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials are licensed and made available under
|
||||
|
@ -68,5 +69,13 @@
|
|||
# @Prompt Private Key's size.
|
||||
gEfiNetworkPkgTokenSpaceGuid.PcdIpsecUefiCertificateKeySize|0x3d5|UINT32|0x00000006
|
||||
|
||||
[PcdsDynamicEx]
|
||||
## IPv6 DHCP Unique Identifier (DUID) Type configuration (From RFCs 3315 and 6355).
|
||||
# 01 = DUID Based on Link-layer Address Plus Time [DUID-LLT]
|
||||
# 04 = UUID-Based DHCPv6 Unique Identifier (DUID-UUID)
|
||||
# 02 = DUID Assigned by Vendor Based on Enterprise Number [DUID-EN] (not supported)
|
||||
# 03 = DUID Based on Link-layer Address [DUID-LL] (not supported)
|
||||
gEfiNetworkPkgTokenSpaceGuid.PcdDhcp6UidType|4|UINT8|0x10000001
|
||||
|
||||
[UserExtensions.TianoCore."ExtraFiles"]
|
||||
NetworkPkgExtra.uni
|
||||
|
|
Loading…
Reference in New Issue