+\r
+ //\r
+ // Flush new station IP address into Udp4CfgData and Ip4ConfigData\r
+ //\r
+ CopyMem (&Private->Udp4CfgData.StationAddress, &Private->StationIp, sizeof (EFI_IPv4_ADDRESS));\r
+ CopyMem (&Private->Udp4CfgData.SubnetMask, &Private->SubnetMask, sizeof (EFI_IPv4_ADDRESS));\r
+ CopyMem (&Private->Ip4ConfigData.StationAddress, &Private->StationIp, sizeof (EFI_IPv4_ADDRESS));\r
+ CopyMem (&Private->Ip4ConfigData.SubnetMask, &Private->SubnetMask, sizeof (EFI_IPv4_ADDRESS));\r
+ \r
+ //\r
+ // Reconfigure the Ip4 instance to capture background ICMP packets with new station Ip address.\r
+ //\r
+ Private->Ip4->Cancel (Private->Ip4, &Private->IcmpErrorRcvToken);\r
+ Private->Ip4->Configure (Private->Ip4, NULL);\r
+ \r
+ Status = Private->Ip4->Configure (Private->Ip4, &Private->Ip4ConfigData);\r
+ if (EFI_ERROR (Status)) {\r
+ goto ON_EXIT;\r
+ }\r
+ \r
+ Status = Private->Ip4->Receive (Private->Ip4, &Private->IcmpErrorRcvToken);\r
+ if (EFI_ERROR (Status)) {\r
+ goto ON_EXIT;\r
+ } \r