Changeset 58466 in vbox for trunk/src/VBox/Devices/EFI/Firmware/NetworkPkg/Dhcp6Dxe
- Timestamp:
- Oct 29, 2015 4:30:44 AM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 103777
- Location:
- trunk/src/VBox/Devices/EFI/Firmware
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/EFI/Firmware
- Property svn:mergeinfo changed
/vendor/edk2/current merged: 103769-103776
- Property svn:mergeinfo changed
-
trunk/src/VBox/Devices/EFI/Firmware/NetworkPkg/Dhcp6Dxe/ComponentName.c
r58459 r58466 248 248 @param Dhcp6[in] A pointer to the EFI_DHCP6_PROTOCOL. 249 249 250 250 251 251 @retval EFI_SUCCESS Update the ControllerNameTable of this instance successfully. 252 252 @retval EFI_INVALID_PARAMETER The input parameter is invalid. 253 253 254 254 **/ 255 255 EFI_STATUS … … 273 273 return Status; 274 274 } 275 275 276 276 if (gDhcp6ControllerNameTable != NULL) { 277 277 FreeUnicodeStringTable (gDhcp6ControllerNameTable); 278 278 gDhcp6ControllerNameTable = NULL; 279 279 } 280 280 281 281 if (Dhcp6ModeData.Ia == NULL) { 282 282 HandleName = L"DHCPv6 (No configured IA)"; … … 287 287 HandleName = mDhcp6ControllerName[Dhcp6ModeData.Ia->State]; 288 288 } 289 289 290 290 Status = AddUnicodeString2 ( 291 291 "eng", … … 298 298 return Status; 299 299 } 300 300 301 301 return AddUnicodeString2 ( 302 302 "en", … … 395 395 return EFI_UNSUPPORTED; 396 396 } 397 398 // 399 // Make sure this driver produced ChildHandle 400 // 397 398 // 399 // Make sure this driver produced ChildHandle 400 // 401 401 Status = EfiTestChildHandle ( 402 402 ControllerHandle, 403 ChildHandle, 403 ChildHandle, 404 404 &gEfiUdp6ProtocolGuid 405 405 ); … … 414 414 ChildHandle, 415 415 &gEfiDhcp6ProtocolGuid, 416 (VOID **)&Dhcp6, 416 (VOID **)&Dhcp6, 417 417 NULL, 418 418 NULL, -
trunk/src/VBox/Devices/EFI/Firmware/NetworkPkg/Dhcp6Dxe/Dhcp6Driver.c
r58459 r58466 329 329 /** 330 330 Callback function which provided by user to remove one node in NetDestroyLinkList process. 331 331 332 332 @param[in] Entry The entry to be removed. 333 333 @param[in] Context Pointer to the callback context corresponds to the Context in NetDestroyLinkList. … … 353 353 Instance = NET_LIST_USER_STRUCT_S (Entry, DHCP6_INSTANCE, Link, DHCP6_INSTANCE_SIGNATURE); 354 354 ServiceBinding = (EFI_SERVICE_BINDING_PROTOCOL *) Context; 355 355 356 356 return ServiceBinding->DestroyChild (ServiceBinding, Instance->Handle); 357 357 } … … 559 559 // 560 560 // Destroy all the children instances before destory the service. 561 // 561 // 562 562 List = &Service->Child; 563 563 Status = NetDestroyLinkList ( … … 592 592 Status = EFI_SUCCESS; 593 593 } 594 594 595 595 ON_EXIT: 596 596 return Status; -
trunk/src/VBox/Devices/EFI/Firmware/NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
r58459 r58466 1 1 ## @file 2 2 # Client-side DHCPv6 services. 3 # 3 # 4 4 # This driver produces EFI DHCPv6 Protocol which is used to get IPv6 addresses 5 5 # and other configuration parameters from DHCPv6 servers. -
trunk/src/VBox/Devices/EFI/Firmware/NetworkPkg/Dhcp6Dxe/Dhcp6Impl.c
r58459 r58466 226 226 Status = Instance->UdpSts; 227 227 } 228 228 229 229 ON_EXIT: 230 230 // … … 667 667 } 668 668 669 do { 669 do { 670 670 TimerStatus = gBS->CheckEvent (Timer); 671 671 if (!EFI_ERROR (TimerStatus)) { … … 683 683 } 684 684 } while (TimerStatus == EFI_NOT_READY); 685 685 686 686 gBS->CloseEvent (Timer); 687 687 } -
trunk/src/VBox/Devices/EFI/Firmware/NetworkPkg/Dhcp6Dxe/Dhcp6Impl.h
r58459 r58466 252 252 // 253 253 // StartTime is used to calculate the 'elapsed-time' option. Refer to RFC3315, 254 // the elapsed-time is amount of time since the client began its current DHCP transaction. 254 // the elapsed-time is amount of time since the client began its current DHCP transaction. 255 255 // 256 256 UINT64 StartTime; -
trunk/src/VBox/Devices/EFI/Firmware/NetworkPkg/Dhcp6Dxe/Dhcp6Io.c
r58459 r58466 372 372 @retval TRUE The control block is in Instance's retry list. 373 373 @retval FALSE The control block is NOT in Instance's retry list. 374 374 375 375 **/ 376 376 BOOLEAN … … 1769 1769 goto ON_ERROR; 1770 1770 } 1771 1771 1772 1772 gBS->RestoreTPL (OldTpl); 1773 1773 return EFI_SUCCESS; 1774 1774 1775 1775 ON_ERROR: 1776 gBS->RestoreTPL (OldTpl); 1776 gBS->RestoreTPL (OldTpl); 1777 1777 RemoveEntryList (&InfCb->Link); 1778 1778 FreePool (InfCb); … … 1898 1898 Packet->Length += (UINT32) (Cursor - Packet->Dhcp6.Option); 1899 1899 ASSERT (Packet->Size > Packet->Length + 8); 1900 1900 1901 1901 // 1902 1902 // Clear initial time for current transaction. … … 2234 2234 } else if (Status == EFI_NOT_FOUND) { 2235 2235 // 2236 // Refer to RFC3315 Chapter 18.1.8, for each IA in the original Renew or Rebind message, 2236 // Refer to RFC3315 Chapter 18.1.8, for each IA in the original Renew or Rebind message, 2237 2237 // the client sends a Renew or Rebind if the IA is not in the Reply message. 2238 2238 // Return EFI_SUCCESS so we can continue to restart the Renew/Rebind process. … … 2240 2240 return EFI_SUCCESS; 2241 2241 } 2242 2242 2243 2243 goto ON_EXIT; 2244 2244 2245 2245 } else if (Option != NULL) { 2246 2246 // … … 2291 2291 if (Instance->IaCb.Ia->State == Dhcp6Renewing || Instance->IaCb.Ia->State == Dhcp6Rebinding) { 2292 2292 // 2293 // Refer to RFC3315 Chapter 18.1.8, for each IA in the original Renew or Rebind message, the client 2293 // Refer to RFC3315 Chapter 18.1.8, for each IA in the original Renew or Rebind message, the client 2294 2294 // sends a Request message if the IA contained a Status Code option with the NoBinding status. 2295 2295 // … … 2310 2310 2311 2311 return EFI_SUCCESS; 2312 2312 2313 2313 ON_EXIT: 2314 2314 … … 2320 2320 ); 2321 2321 } 2322 2322 2323 2323 return Status; 2324 2324 } -
trunk/src/VBox/Devices/EFI/Firmware/NetworkPkg/Dhcp6Dxe/Dhcp6Utility.c
r58459 r58466 68 68 // 69 69 // The format of DUID-UUID: 70 // 70 // 71 71 // 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 72 72 // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ … … 91 91 // 92 92 Duid->Length = (UINT16) (18); 93 93 94 94 // 95 95 // Set the Duid-type and copy UUID. 96 96 // 97 97 WriteUnaligned16 ((UINT16 *) (Duid->Duid), HTONS (Dhcp6DuidTypeUuid)); 98 98 99 99 CopyMem (Duid->Duid + 2, &Uuid, sizeof(EFI_GUID)); 100 100 101 101 } else { 102 102 103 103 // 104 104 // … … 135 135 return NULL; 136 136 } 137 137 138 138 // 139 139 // sizeof (Duid-type + hardware-type + time) = 8 bytes 140 140 // 141 141 Duid->Length = (UINT16) (Mode->HwAddressSize + 8); 142 142 143 143 // 144 144 // Set the Duid-type, hardware-type, time and copy the hardware address. … … 687 687 // . . 688 688 // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 689 689 690 690 // 691 691 // Fill the value of Ia Address option type … … 1000 1000 1001 1001 /** 1002 Check whether the incoming IPv6 address in IaAddr is one of the maintained 1002 Check whether the incoming IPv6 address in IaAddr is one of the maintained 1003 1003 addresses in the IA control blcok. 1004 1004 … … 1019 1019 1020 1020 ASSERT (IaAddr != NULL && CurrentIa != NULL); 1021 1021 1022 1022 for (Index = 0; Index < CurrentIa->IaAddressCount; Index++) { 1023 1023 if (EFI_IP6_EQUAL(&IaAddr->IpAddress, &CurrentIa->IaAddress[Index].IpAddress)) { … … 1303 1303 IN EFI_IP6_CONFIG_PROTOCOL *Ip6Cfg, 1304 1304 OUT UINTN *TimeOut 1305 ) 1305 ) 1306 1306 { 1307 1307 EFI_STATUS Status; … … 1323 1323 return Status; 1324 1324 } 1325 1325 1326 1326 *TimeOut = TICKS_PER_SECOND * DadXmits.DupAddrDetectTransmits + DHCP6_DAD_ADDITIONAL_DELAY; 1327 1327 1328 1328 return EFI_SUCCESS; 1329 1329 }
Note:
See TracChangeset
for help on using the changeset viewer.