Jiaxin:

 

Did you get chance to review the patch?

 

-Siva

From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Sivaraman Nainar
Sent: Thursday, August 13, 2020 12:21 PM
To: devel@edk2.groups.io
Cc: liming.gao@intel.com; jiaxin.wu@intel.com
Subject: [edk2-devel] [Patch ] IP is getting Configured when IP Configuration is disabled

 

BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2873

 

*** E:\Work\NWStack\EDK2Tickets\IPConfigFix\Mod\Ip4Config2Impl.c               2020-08-04 18:38:06.000000000 +05-30

--- E:\Work\NWStack\EDK2Tickets\IPConfigFix\Org\Ip4Config2Impl.c     2020-05-07 22:54:46.000000000 +05-30

***************

*** 1965,1978 ****

    IP4_CONFIG2_INSTANCE  *TmpInstance;

    LIST_ENTRY            *Entry;

    EFI_STATUS            Status;

    UINTN                 Index;

    UINT16                IfIndex;

    IP4_CONFIG2_DATA_ITEM *DataItem;

!   BOOLEAN                                                       IPConfigEnabled = FALSE;

!   IP4_CONFIG2_IFR_NVDATA  *IfrFromNvData = NULL;

 

    IpSb = IP4_SERVICE_FROM_IP4_CONFIG2_INSTANCE (Instance);

 

    Instance->Signature = IP4_CONFIG2_INSTANCE_SIGNATURE;

 

  

--- 1965,1977 ----

    IP4_CONFIG2_INSTANCE  *TmpInstance;

    LIST_ENTRY            *Entry;

    EFI_STATUS            Status;

    UINTN                 Index;

    UINT16                IfIndex;

    IP4_CONFIG2_DATA_ITEM *DataItem;

!

  

    IpSb = IP4_SERVICE_FROM_IP4_CONFIG2_INSTANCE (Instance);

 

    Instance->Signature = IP4_CONFIG2_INSTANCE_SIGNATURE;

 

  

***************

*** 2038,2063 ****

 

    //

    // Try to read the config data from NV variable.

    // If not found, write initialized config data into NV variable

    // as a default config data.

    //

!     Status = GetVariable2(IpSb->MacString, &gIp4Config2NvDataGuid, (VOID**)&IfrFromNvData, NULL);

!     if(!EFI_ERROR(Status)){

!         if (IfrFromNvData->Configure == TRUE) {

!             Status = Ip4Config2ReadConfigData (IpSb->MacString, Instance);

!             if (Status == EFI_NOT_FOUND) {

!                 Status = Ip4Config2WriteConfigData (IpSb->MacString, Instance);

!             }

!             IPConfigEnabled = TRUE;

!         }

!         FreePool(IfrFromNvData);

!     }

!     if(!IPConfigEnabled){

!         Status = Ip4Config2WriteConfigData (IpSb->MacString, Instance);

!     }

 

    if (EFI_ERROR (Status)) {

      return Status;

    }

 

    Instance->Ip4Config2.SetData              = EfiIp4Config2SetData;

--- 2037,2052 ----

 

    //

    // Try to read the config data from NV variable.

    // If not found, write initialized config data into NV variable

    // as a default config data.

    //

!   Status = Ip4Config2ReadConfigData (IpSb->MacString, Instance);

!   if (Status == EFI_NOT_FOUND) {

!     Status = Ip4Config2WriteConfigData (IpSb->MacString, Instance);

!   }

 

    if (EFI_ERROR (Status)) {

      return Status;

    }

 

    Instance->Ip4Config2.SetData              = EfiIp4Config2SetData;

This e-mail is intended for the use of the addressee only and may contain privileged, confidential, or proprietary information that is exempt from disclosure under law. If you have received this message in error, please inform us promptly by reply e-mail, then delete the e-mail and destroy any printed copy. Thank you.