Home | History | Annotate | Download | only in Dhcp6Dxe

Lines Matching refs:Instance

43   be called only when the state of Dhcp6 instance is in the Dhcp6Init state.

44 If the DHCP process completes successfully, the state of the Dhcp6 instance
56 @retval EFI_ACCESS_DENIED The EFI DHCPv6 Child instance hasn't been configured.
63 @retval EFI_ALREADY_STARTED Some other Dhcp6 instance already started the DHCPv6
77 DHCP6_INSTANCE *Instance;
84 Instance = DHCP6_INSTANCE_FROM_THIS (This);
85 Service = Instance->Service;
88 // The instance hasn't been configured.
90 if (Instance->Config == NULL) {
94 ASSERT (Instance->IaCb.Ia != NULL);
97 // The instance has already been started.
99 if (Instance->IaCb.Ia->State != Dhcp6Init) {
104 Instance->UdpSts = EFI_ALREADY_STARTED;
109 Status = Dhcp6SendSolicitMsg (Instance);
134 if (Instance->Config->IaInfoEvent == NULL) {
136 while (Instance->UdpSts == EFI_ALREADY_STARTED) {
139 return Instance->UdpSts;
155 function is called successfully, the state of Dhcp6 instance is transferred
158 called when the Dhcp6 instance is in any state.
162 @retval EFI_SUCCESS The Dhcp6 instance is now in the Dhcp6Init state.
175 DHCP6_INSTANCE *Instance;
182 Instance = DHCP6_INSTANCE_FROM_THIS (This);
183 Service = Instance->Service;
188 // The instance hasn't been configured.
190 if (Instance->Config == NULL) {
194 ASSERT (Instance->IaCb.Ia != NULL);
197 // No valid REPLY message received yet, cleanup this instance directly.
199 if (Instance->IaCb.Ia->State == Dhcp6Init ||
200 Instance->IaCb.Ia->State == Dhcp6Selecting ||
201 Instance->IaCb.Ia->State == Dhcp6Requesting
211 Instance->UdpSts = EFI_ALREADY_STARTED;
212 Status = Dhcp6SendReleaseMsg (Instance, Instance->IaCb.Ia);
221 if (Instance->Config->IaInfoEvent == NULL) {
223 while (Instance->UdpSts == EFI_ALREADY_STARTED) {
226 Status = Instance->UdpSts;
234 Dhcp6CleanupSession (Instance, EFI_SUCCESS);
242 Returns the current operating mode data for the Dhcp6 instance.
245 cached data packet for the Dhcp6 instance.
253 @retval EFI_ACCESS_DENIED The EFI DHCPv6 Protocol instance was not
266 DHCP6_INSTANCE *Instance;
275 Instance = DHCP6_INSTANCE_FROM_THIS (This);
276 Service = Instance->Service;
278 if (Instance->Config == NULL && Dhcp6ConfigData != NULL) {
287 // User needs a copy of instance config data.
294 if (EFI_ERROR (Dhcp6CopyConfigData (Dhcp6ConfigData, Instance->Config))) {
300 // User need a copy of instance mode data.
320 Ia = Instance->IaCb.Ia;
374 Initializes, changes, or resets the operational settings for the Dhcp6 instance.
377 data of the Dhcp6 instance:
379 configuration data will be initialized in the Dhcp6 instance, and the state
383 the Dhcp6 instance.
384 To update the configuration data for an Dhcp6 instance, the original data
393 @retval EFI_ACCESS_DENIED The Dhcp6 instance was already configured.
394 The Dhcp6 instance has already started the
412 DHCP6_INSTANCE *Instance;
420 Instance = DHCP6_INSTANCE_FROM_THIS (This);
421 Service = Instance->Service;
478 // It's not allowed to configure one instance twice without configure null.
480 if (Instance->Config != NULL) {
488 Instance->Config = AllocateZeroPool (sizeof (EFI_DHCP6_CONFIG_DATA));
489 if (Instance->Config == NULL) {
494 Status = Dhcp6CopyConfigData (Instance->Config, Dhcp6CfgData);
496 FreePool (Instance->Config);
505 Instance->IaCb.Ia = AllocateZeroPool (sizeof(EFI_DHCP6_IA));
506 if (Instance->IaCb.Ia == NULL) {
507 Dhcp6CleanupConfigData (Instance->Config);
508 FreePool (Instance->Config);
513 &Instance->IaCb.Ia->Descriptor,
520 if (Instance->Config == NULL) {
521 ASSERT (Instance->IaCb.Ia == NULL);
527 // It's not allowed to configure a started instance as null.
529 if (Instance->IaCb.Ia->State != Dhcp6Init) {
534 Dhcp6CleanupConfigData (Instance->Config);
535 FreePool (Instance->Config);
536 Instance->Config = NULL;
538 FreePool (Instance->IaCb.Ia);
539 Instance->IaCb.Ia = NULL;
558 ReplyCallback, the Dhcp6 instance will continue to receive other Reply
564 @param[in] SendClientId If TRUE, the DHCPv6 protocol instance will build Client
604 DHCP6_INSTANCE *Instance;
631 Instance = DHCP6_INSTANCE_FROM_THIS (This);
632 Service = Instance->Service;
635 Instance,
673 Instance,
697 while (Instance->UdpSts == EFI_ALREADY_STARTED) {
700 return Instance->UdpSts;
733 The EFI DHCPv6 Protocol instance has sent Renew
736 @retval EFI_ACCESS_DENIED The Dhcp6 instance hasn't been configured, or the
761 DHCP6_INSTANCE *Instance;
768 Instance = DHCP6_INSTANCE_FROM_THIS (This);
769 Service = Instance->Service;
772 // The instance hasn't been configured.
774 if (Instance->Config == NULL) {
778 ASSERT (Instance->IaCb.Ia != NULL);
781 // The instance has already entered renewing or rebinding state.
783 if ((Instance->IaCb.Ia->State == Dhcp6Rebinding && RebindRequest) ||
784 (Instance->IaCb.Ia->State == Dhcp6Renewing && !RebindRequest)
789 if (Instance->IaCb.Ia->State != Dhcp6Bound) {
794 Instance->UdpSts = EFI_ALREADY_STARTED;
799 Status = Dhcp6SendRenewRebindMsg (Instance, RebindRequest);
824 if (Instance->Config->IaInfoEvent == NULL) {
826 while (Instance->UdpSts == EFI_ALREADY_STARTED) {
829 return Instance->UdpSts;
862 The Dhcp6 instance sent Decline packet when
864 @retval EFI_ACCESS_DENIED The Dhcp6 instance hasn't been configured, or the
868 the configured IA for this instance.
884 DHCP6_INSTANCE *Instance;
891 Instance = DHCP6_INSTANCE_FROM_THIS (This);
892 Service = Instance->Service;
895 // The instance hasn't been configured.
897 if (Instance->Config == NULL) {
901 ASSERT (Instance->IaCb.Ia != NULL);
903 if (Instance->IaCb.Ia->State != Dhcp6Bound) {
910 Status = Dhcp6CheckAddress (Instance->IaCb.Ia, AddressCount, Addresses);
917 Instance->UdpSts = EFI_ALREADY_STARTED;
923 DecIa = Dhcp6DepriveAddress (Instance->IaCb.Ia, AddressCount, Addresses);
933 Status = Dhcp6SendDeclineMsg (Instance, DecIa);
959 if (Instance->Config->IaInfoEvent == NULL) {
961 while (Instance->UdpSts == EFI_ALREADY_STARTED) {
964 return Instance->UdpSts;
982 for current instance.
1002 was NULL. The Dhcp6 instance was sent Release
1005 @retval EFI_ACCESS_DENIED The Dhcp6 instance hasn't been configured, or the
1009 the configured IA for this instance.
1025 DHCP6_INSTANCE *Instance;
1032 Instance = DHCP6_INSTANCE_FROM_THIS (This);
1033 Service = Instance->Service;
1036 // The instance hasn't been configured.
1038 if (Instance->Config == NULL) {
1042 ASSERT (Instance->IaCb.Ia != NULL);
1044 if (Instance->IaCb.Ia->State != Dhcp6Bound) {
1051 Status = Dhcp6CheckAddress (Instance->IaCb.Ia, AddressCount, Addresses);
1058 Instance->UdpSts = EFI_ALREADY_STARTED;
1064 RelIa = Dhcp6DepriveAddress (Instance->IaCb.Ia, AddressCount, Addresses);
1074 Status = Dhcp6SendReleaseMsg (Instance, RelIa);
1100 if (Instance->Config->IaInfoEvent == NULL) {
1101 while (Instance->UdpSts == EFI_ALREADY_STARTED) {
1104 return Instance->UdpSts;