Yes, the NicIp4Config protocol is a private protocol that not defined in UEFI specification. It is introduced by UEFI implementation to solve the limitations in original IP4Config (EFI_IP4_CONFIG_PROTOCOL) protocol defined in UEFI spec. Now since UEFI 2.5 specification, the IP4Config protocol is deprecated and a new protocol EFI_IP4_CONFIG2_PROTOCOL is introduced to provide configuration capability.
In IP4Config2 protocol, there are different data structures defined for corresponding data types in EFI_IP4_CONFIG2_DATA_TYPE: - EFI_IP4_CONFIG2_INTERFACE_INFO is defined for user to retrieve interface information such as MAC address and configured IPv4 address. So you could use it to replace NIC_ADDR. - EFI_IP4_CONFIG2_MANUAL_ADDRESS is defined for user to set the IPv4 address manually. - Use an array of EFI_IPv4_ADDRESS to configure Gateway, DNS server address. For NIC_IP4_CONFIG_INFO, it depends on whether it contains StationAddress/SubnetMask only or it contains route entries also. You might need configure IPv4 address and Gateway address separately. Thanks, Ting -----Original Message----- From: edk2-devel [mailto:[email protected]] On Behalf Of David Van Arnem Sent: Tuesday, March 15, 2016 6:45 AM To: [email protected] Subject: Re: [edk2] UDK2015- IP4 Network Interfaces On 03/14/2016 12:58 PM, [email protected] wrote: > Hi everyone, > Currently we are upgrading EDK2 from UDK2010 to UDK2015 . During > integration process we have noticed that file > //workspace/MdeModulePkg/Include/GUID/NicIp4ConfigNvData no more available in > UDK2015. NicIp4ConfigNvData file contains data structures NIC_ADDR and > NIC_IP4_CONFIG_INFO which are widely used for all our network access > functionalities . > > Note: I am aware of that in new design, EFI_IP4_CONFIG_PROTOCOL has > been replaced with EFI_IP4_CONFIG2_PROTOCOL , my question is that if any > different data structures or interfaces > replaced for NIC_ADDR and NIC_IP4_CONFIG_INFO . > Hi Senthil, The protocol that used NIC_ADDR and NIC_IP4_CONFIG_INFO (EFI_NIC_IP4_CONFIG_PROTOCOL) is no longer defined in the spec. Based on my (somewhat limited) understanding, it looks as though EFI_IP4_CONFIG/2_PROTOCOL replaced/expanded it. There is a structure defined in the description of EFI_IP4_CONFIG2_PROTOCOL.SetData(), EFI_IP4_CONFIG2_INTERFACE_INFO, which contains the configuration settings for interfaces using the EFI_IP4_CONFIG2_PROTOCOL. David > > Thanks > Senthil > > _______________________________________________ > edk2-devel mailing list > [email protected] > https://lists.01.org/mailman/listinfo/edk2-devel > -- Thanks, David _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

