[edk2-devel] [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

Ashish Singhal via groups.io posted 1 patch 4 months, 2 weeks ago
Failed in applying to current master (apply log)
NetworkPkg/Ip4Dxe/Ip4Config2Nv.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
[edk2-devel] [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default
Posted by Ashish Singhal via groups.io 4 months, 2 weeks ago
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>
---
 NetworkPkg/Ip4Dxe/Ip4Config2Nv.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
index e0b6a4d4a9..dac5817b7c 100644
--- a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
+++ b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
@@ -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;
   }
 
-- 
2.17.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#112572): https://edk2.groups.io/g/devel/message/112572
Mute This Topic: https://groups.io/mt/103181314/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default
Posted by Ashish Singhal via groups.io 3 months, 4 weeks ago
Hello,

Checking again for some feedback on this.

Thanks
Ashish

________________________________
From: Ashish Singhal <ashishsingha@nvidia.com>
Sent: Thursday, December 14, 2023 4:42 PM
To: devel@edk2.groups.io <devel@edk2.groups.io>; saloni.kasbekar@intel.com <saloni.kasbekar@intel.com>; zachary.clark-williams@intel.com <zachary.clark-williams@intel.com>; Jeff Brasen <jbrasen@nvidia.com>
Cc: Ashish Singhal <ashishsingha@nvidia.com>
Subject: [PATCH] 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>
---
 NetworkPkg/Ip4Dxe/Ip4Config2Nv.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
index e0b6a4d4a9..dac5817b7c 100644
--- a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
+++ b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
@@ -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;
   }

--
2.17.1

Hello,


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113013): https://edk2.groups.io/g/devel/message/113013
Mute This Topic: https://groups.io/mt/103181314/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default
Posted by Saloni Kasbekar 3 months, 3 weeks ago
Hi Ashish,

+    Ip4NvData->Policy = Ip4Config2PolicyDhcp;
+    Status            = Ip4Cfg2->SetData (
+                                   Ip4Cfg2,
+                                   Ip4Config2DataTypePolicy,
+                                   sizeof (EFI_IP4_CONFIG2_POLICY),
+                                   &Ip4NvData->Policy
+                                   );

Here we're assuming IfrFormNvData->DhcpEnable is TRUE. Should we check it before setting the policy and calling SetData()?

Thanks,
Saloni


From: Ashish Singhal <ashishsingha@nvidia.com>
Sent: Monday, January 1, 2024 8:48 AM
To: devel@edk2.groups.io; Kasbekar, Saloni <saloni.kasbekar@intel.com>; Clark-williams, Zachary <zachary.clark-williams@intel.com>; Jeff Brasen <jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

Hello,

Checking again for some feedback on this.

Thanks
Ashish

________________________________
From: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Sent: Thursday, December 14, 2023 4:42 PM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com> <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>; zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com> <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Cc: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Subject: [PATCH] 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<mailto:ashishsingha@nvidia.com>>
---
 NetworkPkg/Ip4Dxe/Ip4Config2Nv.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
index e0b6a4d4a9..dac5817b7c 100644
--- a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
+++ b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
@@ -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;
   }

--
2.17.1
Hello,


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113041): https://edk2.groups.io/g/devel/message/113041
Mute This Topic: https://groups.io/mt/103181314/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default
Posted by Ashish Singhal via groups.io 3 months, 3 weeks ago
Hello Saloni,

Thanks for the feedback. After the reset, or when we disable configure from menu, GetData returns policy to static as the enum value is 0. However, setting value as static does not have any benefit as it forces to reuse the old network settings. Using DHCP really mimics the reset behavior that we see without any configuration done manually.

Thanks
Ashish

________________________________
From: Kasbekar, Saloni <saloni.kasbekar@intel.com>
Sent: Tuesday, January 2, 2024 1:47 PM
To: Ashish Singhal <ashishsingha@nvidia.com>; devel@edk2.groups.io <devel@edk2.groups.io>; Clark-williams, Zachary <zachary.clark-williams@intel.com>; Jeff Brasen <jbrasen@nvidia.com>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

External email: Use caution opening links or attachments


Hi Ashish,



+    Ip4NvData->Policy = Ip4Config2PolicyDhcp;

+    Status            = Ip4Cfg2->SetData (

+                                   Ip4Cfg2,

+                                   Ip4Config2DataTypePolicy,

+                                   sizeof (EFI_IP4_CONFIG2_POLICY),

+                                   &Ip4NvData->Policy

+                                   );



Here we’re assuming IfrFormNvData->DhcpEnable is TRUE. Should we check it before setting the policy and calling SetData()?



Thanks,

Saloni





From: Ashish Singhal <ashishsingha@nvidia.com>
Sent: Monday, January 1, 2024 8:48 AM
To: devel@edk2.groups.io; Kasbekar, Saloni <saloni.kasbekar@intel.com>; Clark-williams, Zachary <zachary.clark-williams@intel.com>; Jeff Brasen <jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default



Hello,



Checking again for some feedback on this.



Thanks

Ashish



________________________________

From: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Sent: Thursday, December 14, 2023 4:42 PM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com> <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>; zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com> <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Cc: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Subject: [PATCH] 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<mailto:ashishsingha@nvidia.com>>
---
 NetworkPkg/Ip4Dxe/Ip4Config2Nv.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
index e0b6a4d4a9..dac5817b7c 100644
--- a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
+++ b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
@@ -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;
   }

--
2.17.1

Hello,

Hello Saloni,


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113102): https://edk2.groups.io/g/devel/message/113102
Mute This Topic: https://groups.io/mt/103181314/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default
Posted by Saloni Kasbekar 3 months, 3 weeks ago
Makes sense. Should we also set IfrNvData->DhcpEnable = TRUE when updating the Policy then?

From: Ashish Singhal <ashishsingha@nvidia.com>
Sent: Wednesday, January 3, 2024 8:52 AM
To: Kasbekar, Saloni <saloni.kasbekar@intel.com>; devel@edk2.groups.io; Clark-williams, Zachary <zachary.clark-williams@intel.com>; Jeff Brasen <jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

Hello Saloni,

Thanks for the feedback. After the reset, or when we disable configure from menu, GetData returns policy to static as the enum value is 0. However, setting value as static does not have any benefit as it forces to reuse the old network settings. Using DHCP really mimics the reset behavior that we see without any configuration done manually.

Thanks
Ashish

________________________________
From: Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>
Sent: Tuesday, January 2, 2024 1:47 PM
To: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

External email: Use caution opening links or attachments


Hi Ashish,



+    Ip4NvData->Policy = Ip4Config2PolicyDhcp;

+    Status            = Ip4Cfg2->SetData (

+                                   Ip4Cfg2,

+                                   Ip4Config2DataTypePolicy,

+                                   sizeof (EFI_IP4_CONFIG2_POLICY),

+                                   &Ip4NvData->Policy

+                                   );



Here we're assuming IfrFormNvData->DhcpEnable is TRUE. Should we check it before setting the policy and calling SetData()?



Thanks,

Saloni





From: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Sent: Monday, January 1, 2024 8:48 AM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default



Hello,



Checking again for some feedback on this.



Thanks

Ashish



________________________________

From: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Sent: Thursday, December 14, 2023 4:42 PM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com> <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>; zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com> <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Cc: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Subject: [PATCH] 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<mailto:ashishsingha@nvidia.com>>
---
 NetworkPkg/Ip4Dxe/Ip4Config2Nv.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
index e0b6a4d4a9..dac5817b7c 100644
--- a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
+++ b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
@@ -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;
   }

--
2.17.1

Hello,
Hello Saloni,


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113200): https://edk2.groups.io/g/devel/message/113200
Mute This Topic: https://groups.io/mt/103181314/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default
Posted by Ashish Singhal via groups.io 3 months, 3 weeks ago
I do not recommend doing that. Setting policy via SetData does enough to wipe out any previous manual configuration and that is the goal for reset to default.
________________________________
From: Kasbekar, Saloni <saloni.kasbekar@intel.com>
Sent: Friday, January 5, 2024 2:30 AM
To: Ashish Singhal <ashishsingha@nvidia.com>; devel@edk2.groups.io <devel@edk2.groups.io>; Clark-williams, Zachary <zachary.clark-williams@intel.com>; Jeff Brasen <jbrasen@nvidia.com>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

External email: Use caution opening links or attachments


Makes sense. Should we also set IfrNvData->DhcpEnable = TRUE when updating the Policy then?



From: Ashish Singhal <ashishsingha@nvidia.com>
Sent: Wednesday, January 3, 2024 8:52 AM
To: Kasbekar, Saloni <saloni.kasbekar@intel.com>; devel@edk2.groups.io; Clark-williams, Zachary <zachary.clark-williams@intel.com>; Jeff Brasen <jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default



Hello Saloni,



Thanks for the feedback. After the reset, or when we disable configure from menu, GetData returns policy to static as the enum value is 0. However, setting value as static does not have any benefit as it forces to reuse the old network settings. Using DHCP really mimics the reset behavior that we see without any configuration done manually.



Thanks

Ashish



________________________________

From: Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>
Sent: Tuesday, January 2, 2024 1:47 PM
To: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default



External email: Use caution opening links or attachments



Hi Ashish,



+    Ip4NvData->Policy = Ip4Config2PolicyDhcp;

+    Status            = Ip4Cfg2->SetData (

+                                   Ip4Cfg2,

+                                   Ip4Config2DataTypePolicy,

+                                   sizeof (EFI_IP4_CONFIG2_POLICY),

+                                   &Ip4NvData->Policy

+                                   );



Here we’re assuming IfrFormNvData->DhcpEnable is TRUE. Should we check it before setting the policy and calling SetData()?



Thanks,

Saloni





From: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Sent: Monday, January 1, 2024 8:48 AM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default



Hello,



Checking again for some feedback on this.



Thanks

Ashish



________________________________

From: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Sent: Thursday, December 14, 2023 4:42 PM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com> <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>; zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com> <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Cc: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Subject: [PATCH] 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<mailto:ashishsingha@nvidia.com>>
---
 NetworkPkg/Ip4Dxe/Ip4Config2Nv.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
index e0b6a4d4a9..dac5817b7c 100644
--- a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
+++ b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
@@ -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;
   }

--
2.17.1

Hello,

Hello Saloni,


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113271): https://edk2.groups.io/g/devel/message/113271
Mute This Topic: https://groups.io/mt/103181314/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default
Posted by Saloni Kasbekar 3 months, 3 weeks ago
Yes, SetData does reset the previous configuration.

Reviewed-by: Saloni Kasbekar <saloni.kasbekar@intel.com>

Thanks,
Saloni

From: Ashish Singhal <ashishsingha@nvidia.com>
Sent: Friday, January 5, 2024 2:34 AM
To: Kasbekar, Saloni <saloni.kasbekar@intel.com>; devel@edk2.groups.io; Clark-williams, Zachary <zachary.clark-williams@intel.com>; Jeff Brasen <jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

I do not recommend doing that. Setting policy via SetData does enough to wipe out any previous manual configuration and that is the goal for reset to default.
________________________________
From: Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>
Sent: Friday, January 5, 2024 2:30 AM
To: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

External email: Use caution opening links or attachments


Makes sense. Should we also set IfrNvData->DhcpEnable = TRUE when updating the Policy then?



From: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Sent: Wednesday, January 3, 2024 8:52 AM
To: Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default



Hello Saloni,



Thanks for the feedback. After the reset, or when we disable configure from menu, GetData returns policy to static as the enum value is 0. However, setting value as static does not have any benefit as it forces to reuse the old network settings. Using DHCP really mimics the reset behavior that we see without any configuration done manually.



Thanks

Ashish



________________________________

From: Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>
Sent: Tuesday, January 2, 2024 1:47 PM
To: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default



External email: Use caution opening links or attachments



Hi Ashish,



+    Ip4NvData->Policy = Ip4Config2PolicyDhcp;

+    Status            = Ip4Cfg2->SetData (

+                                   Ip4Cfg2,

+                                   Ip4Config2DataTypePolicy,

+                                   sizeof (EFI_IP4_CONFIG2_POLICY),

+                                   &Ip4NvData->Policy

+                                   );



Here we're assuming IfrFormNvData->DhcpEnable is TRUE. Should we check it before setting the policy and calling SetData()?



Thanks,

Saloni





From: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Sent: Monday, January 1, 2024 8:48 AM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default



Hello,



Checking again for some feedback on this.



Thanks

Ashish



________________________________

From: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Sent: Thursday, December 14, 2023 4:42 PM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com> <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>; zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com> <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Cc: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Subject: [PATCH] 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<mailto:ashishsingha@nvidia.com>>
---
 NetworkPkg/Ip4Dxe/Ip4Config2Nv.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
index e0b6a4d4a9..dac5817b7c 100644
--- a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
+++ b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
@@ -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;
   }

--
2.17.1

Hello,

Hello Saloni,


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113318): https://edk2.groups.io/g/devel/message/113318
Mute This Topic: https://groups.io/mt/103181314/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default
Posted by Ashish Singhal via groups.io 3 months, 3 weeks ago
Thanks Saloni. PR for getting this merged is available at https://github.com/tianocore/edk2/pull/5150

Thanks
Ashish

________________________________
From: Kasbekar, Saloni <saloni.kasbekar@intel.com>
Sent: Saturday, January 6, 2024 1:31 AM
To: Ashish Singhal <ashishsingha@nvidia.com>; devel@edk2.groups.io <devel@edk2.groups.io>; Clark-williams, Zachary <zachary.clark-williams@intel.com>; Jeff Brasen <jbrasen@nvidia.com>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

External email: Use caution opening links or attachments


Yes, SetData does reset the previous configuration.



Reviewed-by: Saloni Kasbekar <saloni.kasbekar@intel.com>



Thanks,

Saloni



From: Ashish Singhal <ashishsingha@nvidia.com>
Sent: Friday, January 5, 2024 2:34 AM
To: Kasbekar, Saloni <saloni.kasbekar@intel.com>; devel@edk2.groups.io; Clark-williams, Zachary <zachary.clark-williams@intel.com>; Jeff Brasen <jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default



I do not recommend doing that. Setting policy via SetData does enough to wipe out any previous manual configuration and that is the goal for reset to default.

________________________________

From: Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>
Sent: Friday, January 5, 2024 2:30 AM
To: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default



External email: Use caution opening links or attachments



Makes sense. Should we also set IfrNvData->DhcpEnable = TRUE when updating the Policy then?



From: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Sent: Wednesday, January 3, 2024 8:52 AM
To: Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default



Hello Saloni,



Thanks for the feedback. After the reset, or when we disable configure from menu, GetData returns policy to static as the enum value is 0. However, setting value as static does not have any benefit as it forces to reuse the old network settings. Using DHCP really mimics the reset behavior that we see without any configuration done manually.



Thanks

Ashish



________________________________

From: Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>
Sent: Tuesday, January 2, 2024 1:47 PM
To: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default



External email: Use caution opening links or attachments



Hi Ashish,



+    Ip4NvData->Policy = Ip4Config2PolicyDhcp;

+    Status            = Ip4Cfg2->SetData (

+                                   Ip4Cfg2,

+                                   Ip4Config2DataTypePolicy,

+                                   sizeof (EFI_IP4_CONFIG2_POLICY),

+                                   &Ip4NvData->Policy

+                                   );



Here we’re assuming IfrFormNvData->DhcpEnable is TRUE. Should we check it before setting the policy and calling SetData()?



Thanks,

Saloni





From: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Sent: Monday, January 1, 2024 8:48 AM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default



Hello,



Checking again for some feedback on this.



Thanks

Ashish



________________________________

From: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Sent: Thursday, December 14, 2023 4:42 PM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com> <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>; zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com> <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Cc: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Subject: [PATCH] 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<mailto:ashishsingha@nvidia.com>>
---
 NetworkPkg/Ip4Dxe/Ip4Config2Nv.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
index e0b6a4d4a9..dac5817b7c 100644
--- a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
+++ b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
@@ -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;
   }

--
2.17.1

Hello,

Hello Saloni,

Thanks


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113322): https://edk2.groups.io/g/devel/message/113322
Mute This Topic: https://groups.io/mt/103181314/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default
Posted by Ashish Singhal via groups.io 3 months, 1 week ago
Hello,

Checking back for an update on when this PR can be merged or if there are any other changes you recommend.

Thanks
Ashish

________________________________
From: Ashish Singhal <ashishsingha@nvidia.com>
Sent: Saturday, January 6, 2024 5:53 AM
To: Kasbekar, Saloni <saloni.kasbekar@intel.com>; devel@edk2.groups.io <devel@edk2.groups.io>; Clark-williams, Zachary <zachary.clark-williams@intel.com>; Jeff Brasen <jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

Thanks Saloni. PR for getting this merged is available at https://github.com/tianocore/edk2/pull/5150

Thanks
Ashish

________________________________
From: Kasbekar, Saloni <saloni.kasbekar@intel.com>
Sent: Saturday, January 6, 2024 1:31 AM
To: Ashish Singhal <ashishsingha@nvidia.com>; devel@edk2.groups.io <devel@edk2.groups.io>; Clark-williams, Zachary <zachary.clark-williams@intel.com>; Jeff Brasen <jbrasen@nvidia.com>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

External email: Use caution opening links or attachments


Yes, SetData does reset the previous configuration.



Reviewed-by: Saloni Kasbekar <saloni.kasbekar@intel.com>



Thanks,

Saloni



From: Ashish Singhal <ashishsingha@nvidia.com>
Sent: Friday, January 5, 2024 2:34 AM
To: Kasbekar, Saloni <saloni.kasbekar@intel.com>; devel@edk2.groups.io; Clark-williams, Zachary <zachary.clark-williams@intel.com>; Jeff Brasen <jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default



I do not recommend doing that. Setting policy via SetData does enough to wipe out any previous manual configuration and that is the goal for reset to default.

________________________________

From: Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>
Sent: Friday, January 5, 2024 2:30 AM
To: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default



External email: Use caution opening links or attachments



Makes sense. Should we also set IfrNvData->DhcpEnable = TRUE when updating the Policy then?



From: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Sent: Wednesday, January 3, 2024 8:52 AM
To: Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default



Hello Saloni,



Thanks for the feedback. After the reset, or when we disable configure from menu, GetData returns policy to static as the enum value is 0. However, setting value as static does not have any benefit as it forces to reuse the old network settings. Using DHCP really mimics the reset behavior that we see without any configuration done manually.



Thanks

Ashish



________________________________

From: Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>
Sent: Tuesday, January 2, 2024 1:47 PM
To: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default



External email: Use caution opening links or attachments



Hi Ashish,



+    Ip4NvData->Policy = Ip4Config2PolicyDhcp;

+    Status            = Ip4Cfg2->SetData (

+                                   Ip4Cfg2,

+                                   Ip4Config2DataTypePolicy,

+                                   sizeof (EFI_IP4_CONFIG2_POLICY),

+                                   &Ip4NvData->Policy

+                                   );



Here we’re assuming IfrFormNvData->DhcpEnable is TRUE. Should we check it before setting the policy and calling SetData()?



Thanks,

Saloni





From: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Sent: Monday, January 1, 2024 8:48 AM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default



Hello,



Checking again for some feedback on this.



Thanks

Ashish



________________________________

From: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Sent: Thursday, December 14, 2023 4:42 PM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com> <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>; zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com> <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Cc: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Subject: [PATCH] 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<mailto:ashishsingha@nvidia.com>>
---
 NetworkPkg/Ip4Dxe/Ip4Config2Nv.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
index e0b6a4d4a9..dac5817b7c 100644
--- a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
+++ b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
@@ -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;
   }

--
2.17.1

Hello,

Hello Saloni,

Thanks


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113950): https://edk2.groups.io/g/devel/message/113950
Mute This Topic: https://groups.io/mt/103181314/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default
Posted by Saloni Kasbekar 3 months, 1 week ago
Liming, Mike,

Could you please help merge this PR?

Thanks,
Saloni

From: Ashish Singhal <ashishsingha@nvidia.com>
Sent: Wednesday, January 17, 2024 6:08 AM
To: Kasbekar, Saloni <saloni.kasbekar@intel.com>; devel@edk2.groups.io; Clark-williams, Zachary <zachary.clark-williams@intel.com>; Jeff Brasen <jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

Hello,

Checking back for an update on when this PR can be merged or if there are any other changes you recommend.

Thanks
Ashish

________________________________
From: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Sent: Saturday, January 6, 2024 5:53 AM
To: Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

Thanks Saloni. PR for getting this merged is available at https://github.com/tianocore/edk2/pull/5150

Thanks
Ashish

________________________________
From: Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>
Sent: Saturday, January 6, 2024 1:31 AM
To: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

External email: Use caution opening links or attachments


Yes, SetData does reset the previous configuration.



Reviewed-by: Saloni Kasbekar <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>



Thanks,

Saloni



From: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Sent: Friday, January 5, 2024 2:34 AM
To: Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default



I do not recommend doing that. Setting policy via SetData does enough to wipe out any previous manual configuration and that is the goal for reset to default.

________________________________

From: Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>
Sent: Friday, January 5, 2024 2:30 AM
To: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default



External email: Use caution opening links or attachments



Makes sense. Should we also set IfrNvData->DhcpEnable = TRUE when updating the Policy then?



From: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Sent: Wednesday, January 3, 2024 8:52 AM
To: Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default



Hello Saloni,



Thanks for the feedback. After the reset, or when we disable configure from menu, GetData returns policy to static as the enum value is 0. However, setting value as static does not have any benefit as it forces to reuse the old network settings. Using DHCP really mimics the reset behavior that we see without any configuration done manually.



Thanks

Ashish



________________________________

From: Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>
Sent: Tuesday, January 2, 2024 1:47 PM
To: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default



External email: Use caution opening links or attachments



Hi Ashish,



+    Ip4NvData->Policy = Ip4Config2PolicyDhcp;

+    Status            = Ip4Cfg2->SetData (

+                                   Ip4Cfg2,

+                                   Ip4Config2DataTypePolicy,

+                                   sizeof (EFI_IP4_CONFIG2_POLICY),

+                                   &Ip4NvData->Policy

+                                   );



Here we're assuming IfrFormNvData->DhcpEnable is TRUE. Should we check it before setting the policy and calling SetData()?



Thanks,

Saloni





From: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Sent: Monday, January 1, 2024 8:48 AM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default



Hello,



Checking again for some feedback on this.



Thanks

Ashish



________________________________

From: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Sent: Thursday, December 14, 2023 4:42 PM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com> <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>; zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com> <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>
Cc: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Subject: [PATCH] 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<mailto:ashishsingha@nvidia.com>>
---
 NetworkPkg/Ip4Dxe/Ip4Config2Nv.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
index e0b6a4d4a9..dac5817b7c 100644
--- a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
+++ b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
@@ -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;
   }

--
2.17.1

Hello,

Hello Saloni,
Thanks


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113956): https://edk2.groups.io/g/devel/message/113956
Mute This Topic: https://groups.io/mt/103181314/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default
Posted by Michael D Kinney 3 months, 1 week ago
Acked-by: Michael D Kinney <michael.d.kinney@intel.com>

I will prepare PR for merge




From: Kasbekar, Saloni <saloni.kasbekar@intel.com> 
Sent: Wednesday, January 17, 2024 9:27 AM
To: Ashish Singhal <ashishsingha@nvidia.com>; devel@edk2.groups.io; Clark-williams, Zachary <zachary.clark-williams@intel.com>; Jeff Brasen <jbrasen@nvidia.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

Liming, Mike,

Could you please help merge this PR?

Thanks,
Saloni

From: Ashish Singhal <mailto:ashishsingha@nvidia.com> 
Sent: Wednesday, January 17, 2024 6:08 AM
To: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>; mailto:devel@edk2.groups.io; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

Hello,

Checking back for an update on when this PR can be merged or if there are any other changes you recommend.

Thanks
Ashish

________________________________________
From: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Sent: Saturday, January 6, 2024 5:53 AM
To: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>; mailto:devel@edk2.groups.io <mailto:devel@edk2.groups.io>; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default 
 
Thanks Saloni. PR for getting this merged is available at https://github.com/tianocore/edk2/pull/5150

Thanks
Ashish

________________________________________
From: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>
Sent: Saturday, January 6, 2024 1:31 AM
To: Ashish Singhal <mailto:ashishsingha@nvidia.com>; mailto:devel@edk2.groups.io <mailto:devel@edk2.groups.io>; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default 
 
External email: Use caution opening links or attachments

Yes, SetData does reset the previous configuration.
 
Reviewed-by: Saloni Kasbekar <mailto:saloni.kasbekar@intel.com>
 
Thanks,
Saloni
 
From: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Sent: Friday, January 5, 2024 2:34 AM
To: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>; mailto:devel@edk2.groups.io; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default
 
I do not recommend doing that. Setting policy via SetData does enough to wipe out any previous manual configuration and that is the goal for reset to default.
________________________________________
From: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>
Sent: Friday, January 5, 2024 2:30 AM
To: Ashish Singhal <mailto:ashishsingha@nvidia.com>; mailto:devel@edk2.groups.io <mailto:devel@edk2.groups.io>; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default
 
External email: Use caution opening links or attachments
 
Makes sense. Should we also set IfrNvData->DhcpEnable = TRUE when updating the Policy then?
 
From: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Sent: Wednesday, January 3, 2024 8:52 AM
To: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>; mailto:devel@edk2.groups.io; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default
 
Hello Saloni,
 
Thanks for the feedback. After the reset, or when we disable configure from menu, GetData returns policy to static as the enum value is 0. However, setting value as static does not have any benefit as it forces to reuse the old network settings. Using DHCP really mimics the reset behavior that we see without any configuration done manually.
 
Thanks
Ashish
 
________________________________________
From: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>
Sent: Tuesday, January 2, 2024 1:47 PM
To: Ashish Singhal <mailto:ashishsingha@nvidia.com>; mailto:devel@edk2.groups.io <mailto:devel@edk2.groups.io>; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default
 
External email: Use caution opening links or attachments
 
Hi Ashish,
 
+    Ip4NvData->Policy = Ip4Config2PolicyDhcp;
+    Status            = Ip4Cfg2->SetData (
+                                   Ip4Cfg2,
+                                   Ip4Config2DataTypePolicy,
+                                   sizeof (EFI_IP4_CONFIG2_POLICY),
+                                   &Ip4NvData->Policy
+                                   );
 
Here we're assuming IfrFormNvData->DhcpEnable is TRUE. Should we check it before setting the policy and calling SetData()?
 
Thanks,
Saloni
 
 
From: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Sent: Monday, January 1, 2024 8:48 AM
To: mailto:devel@edk2.groups.io; Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default
 
Hello,
 
Checking again for some feedback on this.
 
Thanks
Ashish
 
________________________________________
From: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Sent: Thursday, December 14, 2023 4:42 PM
To: mailto:devel@edk2.groups.io <mailto:devel@edk2.groups.io>; mailto:saloni.kasbekar@intel.com <mailto:saloni.kasbekar@intel.com>; mailto:zachary.clark-williams@intel.com <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Cc: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Subject: [PATCH] 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 <mailto:ashishsingha@nvidia.com>
---
 NetworkPkg/Ip4Dxe/Ip4Config2Nv.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
index e0b6a4d4a9..dac5817b7c 100644
--- a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
+++ b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
@@ -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;
   }
 
--
2.17.1
Hello,
Hello Saloni,
Thanks 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#114017): https://edk2.groups.io/g/devel/message/114017
Mute This Topic: https://groups.io/mt/103181314/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/leave/3901457/1787277/102458076/xyzzy [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default
Posted by Ashish Singhal via groups.io 3 months, 1 week ago
Hi Michael,

If you are going to create a new PR yourself instead of using the one I already created (https://github.com/tianocore/edk2/pull/5150), should I close this one?

Thanks
Ashish
________________________________
From: Kinney, Michael D <michael.d.kinney@intel.com>
Sent: Friday, January 19, 2024 4:57 AM
To: Kasbekar, Saloni <saloni.kasbekar@intel.com>; Ashish Singhal <ashishsingha@nvidia.com>; devel@edk2.groups.io <devel@edk2.groups.io>; Clark-williams, Zachary <zachary.clark-williams@intel.com>; Jeff Brasen <jbrasen@nvidia.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Cc: Kinney, Michael D <michael.d.kinney@intel.com>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

External email: Use caution opening links or attachments


Acked-by: Michael D Kinney <michael.d.kinney@intel.com>

I will prepare PR for merge




From: Kasbekar, Saloni <saloni.kasbekar@intel.com>
Sent: Wednesday, January 17, 2024 9:27 AM
To: Ashish Singhal <ashishsingha@nvidia.com>; devel@edk2.groups.io; Clark-williams, Zachary <zachary.clark-williams@intel.com>; Jeff Brasen <jbrasen@nvidia.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

Liming, Mike,

Could you please help merge this PR?

Thanks,
Saloni

From: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Sent: Wednesday, January 17, 2024 6:08 AM
To: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>; mailto:devel@edk2.groups.io; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

Hello,

Checking back for an update on when this PR can be merged or if there are any other changes you recommend.

Thanks
Ashish

________________________________________
From: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Sent: Saturday, January 6, 2024 5:53 AM
To: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>; mailto:devel@edk2.groups.io <mailto:devel@edk2.groups.io>; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

Thanks Saloni. PR for getting this merged is available at https://github.com/tianocore/edk2/pull/5150

Thanks
Ashish

________________________________________
From: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>
Sent: Saturday, January 6, 2024 1:31 AM
To: Ashish Singhal <mailto:ashishsingha@nvidia.com>; mailto:devel@edk2.groups.io <mailto:devel@edk2.groups.io>; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

External email: Use caution opening links or attachments

Yes, SetData does reset the previous configuration.

Reviewed-by: Saloni Kasbekar <mailto:saloni.kasbekar@intel.com>

Thanks,
Saloni

From: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Sent: Friday, January 5, 2024 2:34 AM
To: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>; mailto:devel@edk2.groups.io; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

I do not recommend doing that. Setting policy via SetData does enough to wipe out any previous manual configuration and that is the goal for reset to default.
________________________________________
From: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>
Sent: Friday, January 5, 2024 2:30 AM
To: Ashish Singhal <mailto:ashishsingha@nvidia.com>; mailto:devel@edk2.groups.io <mailto:devel@edk2.groups.io>; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

External email: Use caution opening links or attachments

Makes sense. Should we also set IfrNvData->DhcpEnable = TRUE when updating the Policy then?

From: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Sent: Wednesday, January 3, 2024 8:52 AM
To: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>; mailto:devel@edk2.groups.io; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

Hello Saloni,

Thanks for the feedback. After the reset, or when we disable configure from menu, GetData returns policy to static as the enum value is 0. However, setting value as static does not have any benefit as it forces to reuse the old network settings. Using DHCP really mimics the reset behavior that we see without any configuration done manually.

Thanks
Ashish

________________________________________
From: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>
Sent: Tuesday, January 2, 2024 1:47 PM
To: Ashish Singhal <mailto:ashishsingha@nvidia.com>; mailto:devel@edk2.groups.io <mailto:devel@edk2.groups.io>; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

External email: Use caution opening links or attachments

Hi Ashish,

+    Ip4NvData->Policy = Ip4Config2PolicyDhcp;
+    Status            = Ip4Cfg2->SetData (
+                                   Ip4Cfg2,
+                                   Ip4Config2DataTypePolicy,
+                                   sizeof (EFI_IP4_CONFIG2_POLICY),
+                                   &Ip4NvData->Policy
+                                   );

Here we're assuming IfrFormNvData->DhcpEnable is TRUE. Should we check it before setting the policy and calling SetData()?

Thanks,
Saloni


From: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Sent: Monday, January 1, 2024 8:48 AM
To: mailto:devel@edk2.groups.io; Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

Hello,

Checking again for some feedback on this.

Thanks
Ashish

________________________________________
From: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Sent: Thursday, December 14, 2023 4:42 PM
To: mailto:devel@edk2.groups.io <mailto:devel@edk2.groups.io>; mailto:saloni.kasbekar@intel.com <mailto:saloni.kasbekar@intel.com>; mailto:zachary.clark-williams@intel.com <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Cc: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Subject: [PATCH] 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 <mailto:ashishsingha@nvidia.com>
---
 NetworkPkg/Ip4Dxe/Ip4Config2Nv.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
index e0b6a4d4a9..dac5817b7c 100644
--- a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
+++ b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
@@ -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;
   }

--
2.17.1
Hello,
Hello Saloni,
Thanks


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#114021): https://edk2.groups.io/g/devel/message/114021
Mute This Topic: https://groups.io/mt/103181314/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default
Posted by Ashish Singhal via groups.io 3 months, 1 week ago
Replied too soon. I saw you had already closed mine.

Thanks
Ashish

________________________________
From: Ashish Singhal <ashishsingha@nvidia.com>
Sent: Friday, January 19, 2024 7:23 AM
To: Kinney, Michael D <michael.d.kinney@intel.com>; Kasbekar, Saloni <saloni.kasbekar@intel.com>; devel@edk2.groups.io <devel@edk2.groups.io>; Clark-williams, Zachary <zachary.clark-williams@intel.com>; Jeff Brasen <jbrasen@nvidia.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

Hi Michael,

If you are going to create a new PR yourself instead of using the one I already created (https://github.com/tianocore/edk2/pull/5150), should I close this one?

Thanks
Ashish
________________________________
From: Kinney, Michael D <michael.d.kinney@intel.com>
Sent: Friday, January 19, 2024 4:57 AM
To: Kasbekar, Saloni <saloni.kasbekar@intel.com>; Ashish Singhal <ashishsingha@nvidia.com>; devel@edk2.groups.io <devel@edk2.groups.io>; Clark-williams, Zachary <zachary.clark-williams@intel.com>; Jeff Brasen <jbrasen@nvidia.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Cc: Kinney, Michael D <michael.d.kinney@intel.com>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

External email: Use caution opening links or attachments


Acked-by: Michael D Kinney <michael.d.kinney@intel.com>

I will prepare PR for merge




From: Kasbekar, Saloni <saloni.kasbekar@intel.com>
Sent: Wednesday, January 17, 2024 9:27 AM
To: Ashish Singhal <ashishsingha@nvidia.com>; devel@edk2.groups.io; Clark-williams, Zachary <zachary.clark-williams@intel.com>; Jeff Brasen <jbrasen@nvidia.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

Liming, Mike,

Could you please help merge this PR?

Thanks,
Saloni

From: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Sent: Wednesday, January 17, 2024 6:08 AM
To: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>; mailto:devel@edk2.groups.io; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

Hello,

Checking back for an update on when this PR can be merged or if there are any other changes you recommend.

Thanks
Ashish

________________________________________
From: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Sent: Saturday, January 6, 2024 5:53 AM
To: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>; mailto:devel@edk2.groups.io <mailto:devel@edk2.groups.io>; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

Thanks Saloni. PR for getting this merged is available at https://github.com/tianocore/edk2/pull/5150

Thanks
Ashish

________________________________________
From: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>
Sent: Saturday, January 6, 2024 1:31 AM
To: Ashish Singhal <mailto:ashishsingha@nvidia.com>; mailto:devel@edk2.groups.io <mailto:devel@edk2.groups.io>; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

External email: Use caution opening links or attachments

Yes, SetData does reset the previous configuration.

Reviewed-by: Saloni Kasbekar <mailto:saloni.kasbekar@intel.com>

Thanks,
Saloni

From: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Sent: Friday, January 5, 2024 2:34 AM
To: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>; mailto:devel@edk2.groups.io; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

I do not recommend doing that. Setting policy via SetData does enough to wipe out any previous manual configuration and that is the goal for reset to default.
________________________________________
From: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>
Sent: Friday, January 5, 2024 2:30 AM
To: Ashish Singhal <mailto:ashishsingha@nvidia.com>; mailto:devel@edk2.groups.io <mailto:devel@edk2.groups.io>; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

External email: Use caution opening links or attachments

Makes sense. Should we also set IfrNvData->DhcpEnable = TRUE when updating the Policy then?

From: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Sent: Wednesday, January 3, 2024 8:52 AM
To: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>; mailto:devel@edk2.groups.io; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

Hello Saloni,

Thanks for the feedback. After the reset, or when we disable configure from menu, GetData returns policy to static as the enum value is 0. However, setting value as static does not have any benefit as it forces to reuse the old network settings. Using DHCP really mimics the reset behavior that we see without any configuration done manually.

Thanks
Ashish

________________________________________
From: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>
Sent: Tuesday, January 2, 2024 1:47 PM
To: Ashish Singhal <mailto:ashishsingha@nvidia.com>; mailto:devel@edk2.groups.io <mailto:devel@edk2.groups.io>; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

External email: Use caution opening links or attachments

Hi Ashish,

+    Ip4NvData->Policy = Ip4Config2PolicyDhcp;
+    Status            = Ip4Cfg2->SetData (
+                                   Ip4Cfg2,
+                                   Ip4Config2DataTypePolicy,
+                                   sizeof (EFI_IP4_CONFIG2_POLICY),
+                                   &Ip4NvData->Policy
+                                   );

Here we're assuming IfrFormNvData->DhcpEnable is TRUE. Should we check it before setting the policy and calling SetData()?

Thanks,
Saloni


From: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Sent: Monday, January 1, 2024 8:48 AM
To: mailto:devel@edk2.groups.io; Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

Hello,

Checking again for some feedback on this.

Thanks
Ashish

________________________________________
From: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Sent: Thursday, December 14, 2023 4:42 PM
To: mailto:devel@edk2.groups.io <mailto:devel@edk2.groups.io>; mailto:saloni.kasbekar@intel.com <mailto:saloni.kasbekar@intel.com>; mailto:zachary.clark-williams@intel.com <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Cc: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Subject: [PATCH] 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 <mailto:ashishsingha@nvidia.com>
---
 NetworkPkg/Ip4Dxe/Ip4Config2Nv.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
index e0b6a4d4a9..dac5817b7c 100644
--- a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
+++ b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
@@ -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;
   }

--
2.17.1
Hello,
Hello Saloni,
Thanks


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#114022): https://edk2.groups.io/g/devel/message/114022
Mute This Topic: https://groups.io/mt/103181314/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default
Posted by Michael D Kinney 3 months, 1 week ago
Merged: https://github.com/tianocore/edk2/pull/5274

Mike

From: Ashish Singhal <ashishsingha@nvidia.com>
Sent: Thursday, January 18, 2024 5:55 PM
To: Kinney, Michael D <michael.d.kinney@intel.com>; Kasbekar, Saloni <saloni.kasbekar@intel.com>; devel@edk2.groups.io; Clark-williams, Zachary <zachary.clark-williams@intel.com>; Jeff Brasen <jbrasen@nvidia.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

Replied too soon. I saw you had already closed mine.

Thanks
Ashish

________________________________
From: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>
Sent: Friday, January 19, 2024 7:23 AM
To: Kinney, Michael D <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>; Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>; Gao, Liming <gaoliming@byosoft.com.cn<mailto:gaoliming@byosoft.com.cn>>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

Hi Michael,

If you are going to create a new PR yourself instead of using the one I already created (https://github.com/tianocore/edk2/pull/5150), should I close this one?

Thanks
Ashish
________________________________
From: Kinney, Michael D <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>
Sent: Friday, January 19, 2024 4:57 AM
To: Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>; Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>; Gao, Liming <gaoliming@byosoft.com.cn<mailto:gaoliming@byosoft.com.cn>>
Cc: Kinney, Michael D <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

External email: Use caution opening links or attachments


Acked-by: Michael D Kinney <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>

I will prepare PR for merge




From: Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>
Sent: Wednesday, January 17, 2024 9:27 AM
To: Ashish Singhal <ashishsingha@nvidia.com<mailto:ashishsingha@nvidia.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>; Kinney, Michael D <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>; Gao, Liming <gaoliming@byosoft.com.cn<mailto:gaoliming@byosoft.com.cn>>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

Liming, Mike,

Could you please help merge this PR?

Thanks,
Saloni

From: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Sent: Wednesday, January 17, 2024 6:08 AM
To: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>; mailto:devel@edk2.groups.io; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

Hello,

Checking back for an update on when this PR can be merged or if there are any other changes you recommend.

Thanks
Ashish

________________________________________
From: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Sent: Saturday, January 6, 2024 5:53 AM
To: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>; mailto:devel@edk2.groups.io <mailto:devel@edk2.groups.io>; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

Thanks Saloni. PR for getting this merged is available at https://github.com/tianocore/edk2/pull/5150

Thanks
Ashish

________________________________________
From: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>
Sent: Saturday, January 6, 2024 1:31 AM
To: Ashish Singhal <mailto:ashishsingha@nvidia.com>; mailto:devel@edk2.groups.io <mailto:devel@edk2.groups.io>; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

External email: Use caution opening links or attachments

Yes, SetData does reset the previous configuration.

Reviewed-by: Saloni Kasbekar <mailto:saloni.kasbekar@intel.com>

Thanks,
Saloni

From: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Sent: Friday, January 5, 2024 2:34 AM
To: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>; mailto:devel@edk2.groups.io; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

I do not recommend doing that. Setting policy via SetData does enough to wipe out any previous manual configuration and that is the goal for reset to default.
________________________________________
From: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>
Sent: Friday, January 5, 2024 2:30 AM
To: Ashish Singhal <mailto:ashishsingha@nvidia.com>; mailto:devel@edk2.groups.io <mailto:devel@edk2.groups.io>; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

External email: Use caution opening links or attachments

Makes sense. Should we also set IfrNvData->DhcpEnable = TRUE when updating the Policy then?

From: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Sent: Wednesday, January 3, 2024 8:52 AM
To: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>; mailto:devel@edk2.groups.io; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

Hello Saloni,

Thanks for the feedback. After the reset, or when we disable configure from menu, GetData returns policy to static as the enum value is 0. However, setting value as static does not have any benefit as it forces to reuse the old network settings. Using DHCP really mimics the reset behavior that we see without any configuration done manually.

Thanks
Ashish

________________________________________
From: Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>
Sent: Tuesday, January 2, 2024 1:47 PM
To: Ashish Singhal <mailto:ashishsingha@nvidia.com>; mailto:devel@edk2.groups.io <mailto:devel@edk2.groups.io>; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: RE: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

External email: Use caution opening links or attachments

Hi Ashish,

+    Ip4NvData->Policy = Ip4Config2PolicyDhcp;
+    Status            = Ip4Cfg2->SetData (
+                                   Ip4Cfg2,
+                                   Ip4Config2DataTypePolicy,
+                                   sizeof (EFI_IP4_CONFIG2_POLICY),
+                                   &Ip4NvData->Policy
+                                   );

Here we're assuming IfrFormNvData->DhcpEnable is TRUE. Should we check it before setting the policy and calling SetData()?

Thanks,
Saloni


From: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Sent: Monday, January 1, 2024 8:48 AM
To: mailto:devel@edk2.groups.io; Kasbekar, Saloni <mailto:saloni.kasbekar@intel.com>; Clark-williams, Zachary <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Subject: Re: [PATCH] NetworkPkg/Ip4Dxe: Fix Reset To Default

Hello,

Checking again for some feedback on this.

Thanks
Ashish

________________________________________
From: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Sent: Thursday, December 14, 2023 4:42 PM
To: mailto:devel@edk2.groups.io <mailto:devel@edk2.groups.io>; mailto:saloni.kasbekar@intel.com <mailto:saloni.kasbekar@intel.com>; mailto:zachary.clark-williams@intel.com <mailto:zachary.clark-williams@intel.com>; Jeff Brasen <mailto:jbrasen@nvidia.com>
Cc: Ashish Singhal <mailto:ashishsingha@nvidia.com>
Subject: [PATCH] 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 <mailto:ashishsingha@nvidia.com>
---
 NetworkPkg/Ip4Dxe/Ip4Config2Nv.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
index e0b6a4d4a9..dac5817b7c 100644
--- a/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
+++ b/NetworkPkg/Ip4Dxe/Ip4Config2Nv.c
@@ -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;
   }

--
2.17.1
Hello,
Hello Saloni,
Thanks


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#114023): https://edk2.groups.io/g/devel/message/114023
Mute This Topic: https://groups.io/mt/103181314/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/leave/3901457/1787277/102458076/xyzzy [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-