Git version '3d0a49ad' commit provided a scenario to resolve the performance issue for IPv4, but it's not workable for IPv6. To avoid IPv4 and IPv6 inconsistency, we decided to revert that version fix. If so, the default policy for Ip4Config2 is Ip4Config2PolicyDhcp, which results in all NIC ports attempting DHCP. So, this patch is used to changes the the default IPv4 config policy to Ip4Config2PolicyStatic and also defer the SetData operation after Ip4Config2Protocol installed. This update let the other platform drivers have chance to change the default config data by consume Ip4Config2Protocol. Cc: Subramanian Sriram <sriram-s@hpe.com> Cc: El-Haj-Mahmoud Samer <samer.el-haj-mahmoud@hpe.com> Cc: Ye Ting <ting.ye@intel.com> Cc: Fu Siyuan <siyuan.fu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com> Reviewed-by: Subramanian Sriram <sriram-s@hpe.com> Reviewed-by: Fu Siyuan <siyuan.fu@intel.com> Reviewed-by: Ye Ting <ting.ye@intel.com>
116 lines
3.5 KiB
INI
116 lines
3.5 KiB
INI
## @file
|
|
# This module produces EFI IPv4 Protocol and EFI IPv4 Service Binding Protocol.
|
|
#
|
|
# This module produces EFI IPv4 Protocol upon EFI MNP Protocol and EFI ARP Protocol,
|
|
# to provide basic network IPv4 packet I/O services, which includes support for a
|
|
# subset of the Internet Control Message Protocol (ICMP) and may include support for
|
|
# the Internet Group Management Protocol (IGMP).
|
|
#
|
|
# Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>
|
|
# This program and the accompanying materials
|
|
# are licensed and made available under the terms and conditions of the BSD License
|
|
# which accompanies this distribution. The full text of the license may be found at
|
|
# http://opensource.org/licenses/bsd-license.php
|
|
#
|
|
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
#
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x00010005
|
|
BASE_NAME = Ip4Dxe
|
|
MODULE_UNI_FILE = Ip4Dxe.uni
|
|
FILE_GUID = 9FB1A1F3-3B71-4324-B39A-745CBB015FFF
|
|
MODULE_TYPE = UEFI_DRIVER
|
|
VERSION_STRING = 1.0
|
|
ENTRY_POINT = Ip4DriverEntryPoint
|
|
UNLOAD_IMAGE = NetLibDefaultUnload
|
|
|
|
#
|
|
# The following information is for reference only and not required by the build tools.
|
|
#
|
|
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
|
|
#
|
|
# DRIVER_BINDING = gIp4DriverBinding
|
|
# COMPONENT_NAME = gIp4ComponentName
|
|
# COMPONENT_NAME2 = gIp4ComponentName2
|
|
#
|
|
|
|
[Sources]
|
|
Ip4Driver.c
|
|
Ip4Option.h
|
|
Ip4Route.h
|
|
Ip4If.c
|
|
Ip4Igmp.h
|
|
Ip4Output.c
|
|
Ip4Icmp.c
|
|
Ip4Igmp.c
|
|
Ip4Impl.c
|
|
Ip4Common.h
|
|
Ip4Impl.h
|
|
Ip4Driver.h
|
|
Ip4Common.c
|
|
Ip4If.h
|
|
Ip4Option.c
|
|
Ip4Output.h
|
|
ComponentName.c
|
|
Ip4Input.h
|
|
Ip4Route.c
|
|
Ip4Icmp.h
|
|
Ip4Input.c
|
|
Ip4Config2Impl.c
|
|
Ip4Config2Impl.h
|
|
Ip4Config2.vfr
|
|
Ip4DxeStrings.uni
|
|
Ip4NvData.h
|
|
Ip4Config2Nv.h
|
|
Ip4Config2Nv.c
|
|
|
|
|
|
[Packages]
|
|
MdePkg/MdePkg.dec
|
|
MdeModulePkg/MdeModulePkg.dec
|
|
|
|
[LibraryClasses]
|
|
UefiLib
|
|
BaseLib
|
|
UefiBootServicesTableLib
|
|
UefiDriverEntryPoint
|
|
UefiRuntimeServicesTableLib
|
|
DebugLib
|
|
NetLib
|
|
DpcLib
|
|
HiiLib
|
|
PrintLib
|
|
DevicePathLib
|
|
UefiHiiServicesLib
|
|
|
|
[Protocols]
|
|
## BY_START
|
|
## UNDEFINED # variable
|
|
gEfiIp4ServiceBindingProtocolGuid
|
|
gEfiIp4ProtocolGuid ## BY_START
|
|
gEfiManagedNetworkServiceBindingProtocolGuid ## TO_START
|
|
gEfiManagedNetworkProtocolGuid ## TO_START
|
|
gEfiArpServiceBindingProtocolGuid ## TO_START
|
|
gEfiIp4Config2ProtocolGuid ## BY_START
|
|
gEfiArpProtocolGuid ## TO_START
|
|
gEfiDhcp4ServiceBindingProtocolGuid ## TO_START
|
|
gEfiDhcp4ProtocolGuid ## TO_START
|
|
gEfiIpSec2ProtocolGuid ## SOMETIMES_CONSUMES
|
|
gEfiHiiConfigAccessProtocolGuid ## BY_START
|
|
gEfiDevicePathProtocolGuid ## TO_START
|
|
|
|
[Guids]
|
|
## SOMETIMES_CONSUMES ## GUID # HiiIsConfigHdrMatch EFI_NIC_IP4_CONFIG_VARIABLE
|
|
## SOMETIMES_PRODUCES ## GUID # HiiConstructConfigHdr EFI_NIC_IP4_CONFIG_VARIABLE
|
|
## SOMETIMES_PRODUCES ## GUID # HiiGetBrowserData EFI_NIC_IP4_CONFIG_VARIABLE
|
|
## SOMETIMES_CONSUMES ## HII
|
|
gIp4Config2NvDataGuid
|
|
|
|
[UserExtensions.TianoCore."ExtraFiles"]
|
|
Ip4DxeExtra.uni
|
|
|