NetworkPkg/Ip4Dxe: Fix Reset To Default

Exercising reset to default does not reset the settings.
Add handler code for the case where configuration is
disabled.

Signed-off-by: Ashish Singhal <ashishsingha@nvidia.com>
Reviewed-by: Saloni Kasbekar <saloni.kasbekar@intel.com>
Acked-by: Michael D Kinney <michael.d.kinney@intel.com>
This commit is contained in:
Ashish Singhal 2023-12-14 13:17:02 -07:00 committed by mergify[bot]
parent 264636d8e6
commit 9d3fe85fcc
1 changed files with 25 additions and 0 deletions

View File

@ -586,6 +586,31 @@ Ip4Config2ConvertIfrNvDataToConfigNvData (
}
if (IfrFormNvData->Configure != TRUE) {
if (Ip4NvData->DnsAddress != NULL) {
FreePool (Ip4NvData->DnsAddress);
Ip4NvData->DnsAddress = NULL;
Ip4NvData->DnsAddressCount = 0;
}
if (Ip4NvData->GatewayAddress != NULL) {
FreePool (Ip4NvData->GatewayAddress);
Ip4NvData->GatewayAddress = NULL;
Ip4NvData->GatewayAddressCount = 0;
}
if (Ip4NvData->ManualAddress != NULL) {
FreePool (Ip4NvData->ManualAddress);
Ip4NvData->ManualAddress = NULL;
Ip4NvData->ManualAddressCount = 0;
}
Ip4NvData->Policy = Ip4Config2PolicyDhcp;
Status = Ip4Cfg2->SetData (
Ip4Cfg2,
Ip4Config2DataTypePolicy,
sizeof (EFI_IP4_CONFIG2_POLICY),
&Ip4NvData->Policy
);
return EFI_SUCCESS;
}