Home | History | Annotate | Download | only in Ip6Dxe

Lines Matching refs:Instance

25   @param[in]     Context       Pointer to the IP6 config instance data.

40 @param[in] IpSb The IP6 service binding instance.
62 // instance whose local IP is neither 0 nor the link-local address.
139 @param[in] Instance Pointer to the IP6 config instance data.
149 IN IP6_CONFIG_INSTANCE *Instance,
166 if (Instance->Dhcp6Handle != NULL) {
170 IpSb = IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE (Instance);
172 Instance->OtherInfoOnly = OtherInfoOnly;
178 &Instance->Dhcp6Handle
185 if (Instance->Dhcp6SbNotifyEvent == NULL) {
186 Instance->Dhcp6SbNotifyEvent = EfiCreateProtocolNotifyEvent (
190 (VOID *) Instance,
191 &Instance->Registration
200 if (Instance->Dhcp6SbNotifyEvent != NULL) {
201 gBS->CloseEvent (Instance->Dhcp6SbNotifyEvent);
205 Instance->Dhcp6Handle,
207 (VOID **) &Instance->Dhcp6,
214 Dhcp6 = Instance->Dhcp6;
238 Dhcp6CfgData.IaDescriptor.IaId = Instance->IaId;
239 Dhcp6CfgData.IaInfoEvent = Instance->Dhcp6Event;
273 Instance->Dhcp6Event,
275 Instance
314 @param[in, out] Instance The pointer to the IP6 config instance data.
324 IN OUT IP6_CONFIG_INSTANCE *Instance
388 Instance->IaId = Variable->IaId;
394 DataItem = &Instance->DataItem[DataRecord.DataType];
435 @param[in] Instance The pointer to the IP6 configuration instance data.
444 IN IP6_CONFIG_INSTANCE *Instance
459 DataItem = &Instance->DataItem[Index];
471 Variable->IaId = Instance->IaId;
477 DataItem = &Instance->DataItem[Index];
510 of the communication device this IP6Config instance manages.
512 @param[in] Instance Pointer to the IP6 config instance data.
527 IN IP6_CONFIG_INSTANCE *Instance,
539 IpSb = IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE (Instance);
559 Item = &Instance->DataItem[Ip6ConfigDataTypeInterfaceInfo];
588 for the communication device managed by this IP6Config instance, if the link local
592 @param[in] Instance Pointer to the IP6 configuration instance data.
604 IN IP6_CONFIG_INSTANCE *Instance,
617 DataItem = &Instance->DataItem[Ip6ConfigDataTypeAltInterfaceId];
630 managed by this IP6Config instance. The policy will affect other configuration settings.
632 @param[in] Instance Pointer to the IP6 config instance data.
645 IN IP6_CONFIG_INSTANCE *Instance,
664 if (NewPolicy == Instance->Policy) {
672 DataItem = &Instance->DataItem[Ip6ConfigDataTypeManualAddress];
681 DataItem = &Instance->DataItem[Ip6ConfigDataTypeGateway];
690 DataItem = &Instance->DataItem[Ip6ConfigDataTypeDnsServer];
701 if (Instance->Dhcp6Handle != NULL) {
702 Ip6ConfigDestroyDhcp6 (Instance);
706 IpSb = IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE (Instance);
709 Instance->Policy = NewPolicy;
721 @param[in] Instance The Instance Pointer to the IP6 config instance data.
733 IN IP6_CONFIG_INSTANCE *Instance,
744 OldDadXmits = Instance->DataItem[Ip6ConfigDataTypeDupAddrDetectTransmits].Data.DadXmits;
763 @param[in] Context Pointer to the IP6 configuration instance data.
773 IP6_CONFIG_INSTANCE *Instance;
782 Instance = (IP6_CONFIG_INSTANCE *) Context;
783 NET_CHECK_SIGNATURE (Instance, IP6_CONFIG_INSTANCE_SIGNATURE);
784 Item = &Instance->DataItem[Ip6ConfigDataTypeManualAddress];
800 NetMapInsertTail (&Instance->DadPassedMap, ManualAddr, NULL);
802 NetMapInsertTail (&Instance->DadFailedMap, ManualAddr, NULL);
805 DadPassCount = NetMapGetCount (&Instance->DadPassedMap);
806 DadFailCount = NetMapGetCount (&Instance->DadFailedMap);
836 while (!NetMapIsEmpty (&Instance->DadPassedMap)) {
837 ManualAddr = (EFI_IP6_CONFIG_MANUAL_ADDRESS *) NetMapRemoveHead (&Instance->DadPassedMap, NULL);
855 while (!NetMapIsEmpty (&Instance->DadFailedMap)) {
856 NetMapRemoveHead (&Instance->DadFailedMap, NULL);
859 while (!NetMapIsEmpty (&Instance->DadPassedMap)) {
860 NetMapRemoveHead (&Instance->DadPassedMap, NULL);
867 IpSb = IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE (Instance);
868 Ip6ConfigWriteConfigData (IpSb->MacString, Instance);
877 @param[in] Instance Pointer to the IP6 configuration instance data.
896 IN IP6_CONFIG_INSTANCE *Instance,
919 ASSERT (Instance->DataItem[Ip6ConfigDataTypeManualAddress].Status != EFI_NOT_READY);
925 if (Instance->Policy != Ip6ConfigPolicyManual) {
957 IpSb = IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE (Instance);
995 DataItem = &Instance->DataItem[Ip6ConfigDataTypeManualAddress];
1080 Ip6ManualAddrDadCallback (TRUE, &NewAddress->Address, Instance);
1099 Instance
1173 @param[in] Instance The pointer to the IP6 config instance data.
1191 IN IP6_CONFIG_INSTANCE *Instance,
1213 if (Instance->Policy != Ip6ConfigPolicyManual) {
1233 IpSb = IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE (Instance);
1234 Item = &Instance->DataItem[Ip6ConfigDataTypeGateway];
1305 @param[in] Instance The pointer to the IP6 config instance data.
1323 IN IP6_CONFIG_INSTANCE *Instance,
1343 if (Instance->Policy != Ip6ConfigPolicyManual) {
1347 Item = &Instance->DataItem[Ip6ConfigDataTypeDnsServer];
1428 Generate the operational state of the interface this IP6 config instance manages
1431 @param[in] IpSb The pointer to the IP6 service binding instance.
1456 @param[in] Dhcp6 The pointer to the EFI_DHCP6_PROTOCOL instance.
1457 @param[in, out] Instance The pointer to the IP6 configuration instance data.
1468 IN OUT IP6_CONFIG_INSTANCE *Instance,
1539 Item = &Instance->DataItem[Ip6ConfigDataTypeDnsServer];
1576 @param[in] Context Pointer to the IP6 configuration instance data.
1586 IP6_CONFIG_INSTANCE *Instance;
1588 Instance = (IP6_CONFIG_INSTANCE *) Context;
1589 NET_CHECK_SIGNATURE (Instance, IP6_CONFIG_INSTANCE_SIGNATURE);
1598 if (Instance->FailedIaAddressCount > 0 ) {
1599 Instance->FailedIaAddressCount--;
1605 IP6_COPY_ADDRESS (Instance->DeclineAddress + Instance->DeclineAddressCount, TargetAddress);
1606 Instance->DeclineAddressCount++;
1609 if (Instance->FailedIaAddressCount == Instance->DeclineAddressCount) {
1613 if (Instance->DeclineAddressCount != 0) {
1617 if (Instance->Dhcp6 != NULL) {
1618 Instance->Dhcp6->Decline (
1619 Instance->Dhcp6,
1620 Instance->DeclineAddressCount,
1621 Instance->DeclineAddress
1626 if (Instance->DeclineAddress != NULL) {
1627 FreePool (Instance->DeclineAddress);
1629 Instance->DeclineAddress = NULL;
1630 Instance->DeclineAddressCount = 0;
1638 @param[in] Context The pointer to the IP6 configuration instance data.
1648 IP6_CONFIG_INSTANCE *Instance;
1659 Instance = (IP6_CONFIG_INSTANCE *) Context;
1661 if ((Instance->Policy != Ip6ConfigPolicyAutomatic) || Instance->OtherInfoOnly) {
1672 Dhcp6 = Instance->Dhcp6;
1679 IpSb = IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE (Instance);
1684 if (Instance->DeclineAddress != NULL) {
1685 FreePool (Instance->DeclineAddress);
1688 Instance->DeclineAddress = (EFI_IPv6_ADDRESS *) AllocatePool (Ia->IaAddressCount * sizeof (EFI_IPv6_ADDRESS));
1689 if (Instance->DeclineAddress == NULL) {
1693 Instance->FailedIaAddressCount = Ia->IaAddressCount;
1694 Instance->DeclineAddressCount = 0;
1710 Instance
1728 if (Instance->FailedIaAddressCount > 0) {
1729 Instance->FailedIaAddressCount--;
1738 Ip6ConfigParseDhcpReply (Dhcp6, Instance, Dhcp6ModeData.Ia->ReplyPacket);
1752 @param[in] Context The pointer to the IP6 configuration instance data.
1776 @param[in] Context The pointer to the IP6 config instance data.
1786 IP6_CONFIG_INSTANCE *Instance;
1788 Instance = (IP6_CONFIG_INSTANCE *) Context;
1790 if ((Instance->Dhcp6Handle != NULL) || (Instance->Policy != Ip6ConfigPolicyAutomatic)) {
1797 Ip6ConfigStartStatefulAutoConfig (Instance, Instance->OtherInfoOnly);
1802 device this EFI IPv6 Configuration Protocol instance manages.
1806 Configuration Protocol instance manages.
1822 @param[in] This The pointer to the EFI_IP6_CONFIG_PROTOCOL instance.
1859 IP6_CONFIG_INSTANCE *Instance;
1870 Instance = IP6_CONFIG_INSTANCE_FROM_PROTOCOL (This);
1871 IpSb = IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE (Instance);
1880 Status = Instance->DataItem[DataType].Status;
1883 if (Instance->DataItem[DataType].SetData == NULL) {
1890 Status = Instance->DataItem[DataType].SetData (Instance, DataSize, Data);
1895 NetMapIterate (&Instance->DataItem[DataType].EventMap, Ip6ConfigSignalEvent, NULL);
1896 Ip6ConfigWriteConfigData (IpSb->MacString, Instance);
1903 NetMapIterate (&Instance->DataItem[DataType].EventMap, Ip6ConfigSignalEvent, NULL);
1920 device that this EFI IPv6 Configuration Protocol instance manages.
1923 stack running on the communication device that this EFI IPv6 Configuration Protocol instance
1936 @param[in] This Pointer to the EFI_IP6_CONFIG_PROTOCOL instance.
1967 IP6_CONFIG_INSTANCE *Instance;
1980 Instance = IP6_CONFIG_INSTANCE_FROM_PROTOCOL (This);
1981 DataItem = &Instance->DataItem[DataType];
1983 Status = Instance->DataItem[DataType].Status;
1988 Status = DataItem->GetData (Instance, DataSize, Data);
1989 } else if (*DataSize < Instance->DataItem[DataType].DataSize) {
1993 *DataSize = Instance->DataItem[DataType].DataSize;
1997 *DataSize = Instance->DataItem[DataType].DataSize;
1998 CopyMem (Data, Instance->DataItem[DataType].Data.Ptr, *DataSize);
2016 @param[in] This Pointer to the EFI_IP6_CONFIG_PROTOCOL instance.
2039 IP6_CONFIG_INSTANCE *Instance;
2053 Instance = IP6_CONFIG_INSTANCE_FROM_PROTOCOL (This);
2054 EventMap = &Instance->DataItem[DataType].EventMap;
2082 @param This The pointer to the EFI_IP6_CONFIG_PROTOCOL instance.
2104 IP6_CONFIG_INSTANCE *Instance;
2117 Instance = IP6_CONFIG_INSTANCE_FROM_PROTOCOL (This);
2119 Item = NetMapFindKey (&Instance->DataItem[DataType].EventMap, Event);
2122 NetMapRemoveItem (&Instance->DataItem[DataType].EventMap, Item, NULL);
2137 @param[out] Instance The buffer of IP6_CONFIG_INSTANCE to be initialized.
2145 OUT IP6_CONFIG_INSTANCE *Instance
2156 IpSb = IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE (Instance);
2158 Instance->Signature = IP6_CONFIG_INSTANCE_SIGNATURE;
2177 Instance->IfIndex = IfIndex;
2178 NetListInsertBefore (Entry, &Instance->Link);
2184 NetMapInit (&Instance->DataItem[Index].EventMap);
2190 NetMapInit (&Instance->DadFailedMap);
2191 NetMapInit (&Instance->DadPassedMap);
2197 DataItem = &Instance->DataItem[Ip6ConfigDataTypeInterfaceInfo];
2199 DataItem->Data.Ptr = &Instance->InterfaceInfo;
2200 DataItem->DataSize = sizeof (Instance->InterfaceInfo);
2202 Ip6ConfigInitIfInfo (IpSb, &Instance->InterfaceInfo);
2204 DataItem = &Instance->DataItem[Ip6ConfigDataTypeAltInterfaceId];
2206 DataItem->Data.Ptr = &Instance->AltIfId;
2207 DataItem->DataSize = sizeof (Instance->AltIfId);
2211 DataItem = &Instance->DataItem[Ip6ConfigDataTypePolicy];
2213 DataItem->Data.Ptr = &Instance->Policy;
2214 DataItem->DataSize = sizeof (Instance->Policy);
2215 Instance->Policy = Ip6ConfigPolicyManual;
2218 DataItem = &Instance->DataItem[Ip6ConfigDataTypeDupAddrDetectTransmits];
2220 DataItem->Data.Ptr = &Instance->DadXmits;
2221 DataItem->DataSize = sizeof (Instance->DadXmits);
2222 Instance->DadXmits.DupAddrDetectTransmits = IP6_CONFIG_DEFAULT_DAD_XMITS;
2225 DataItem = &Instance->DataItem[Ip6ConfigDataTypeManualAddress];
2229 DataItem = &Instance->DataItem[Ip6ConfigDataTypeGateway];
2233 DataItem = &Instance->DataItem[Ip6ConfigDataTypeDnsServer];
2244 Instance,
2245 &Instance->Dhcp6Event
2249 Instance->Configured = TRUE;
2254 Status = Ip6ConfigReadConfigData (IpSb->MacString, Instance);
2260 Instance->IaId = NET_RANDOM (NetRandomInitSeed ());
2263 Instance->IaId |= (IpSb->SnpMode.CurrentAddress.Addr[Index] << ((Index << 3) & 31));
2266 Ip6ConfigWriteConfigData (IpSb->MacString, Instance);
2271 Instance->Ip6Config.SetData = EfiIp6ConfigSetData;
2272 Instance->Ip6Config.GetData = EfiIp6ConfigGetData;
2273 Instance->Ip6Config.RegisterDataNotify = EfiIp6ConfigRegisterDataNotify;
2274 Instance->Ip6Config.UnregisterDataNotify = EfiIp6ConfigUnregisterDataNotify;
2280 return Ip6ConfigFormInit (Instance);
2286 @param[in, out] Instance The buffer of IP6_CONFIG_INSTANCE to be freed.
2291 IN OUT IP6_CONFIG_INSTANCE *Instance
2297 if (Instance->DeclineAddress != NULL) {
2298 FreePool (Instance->DeclineAddress);
2301 if (!Instance->Configured) {
2305 if (Instance->Dhcp6Handle != NULL) {
2307 Ip6ConfigDestroyDhcp6 (Instance);
2313 if (Instance->Dhcp6Event != NULL) {
2314 gBS->CloseEvent (Instance->Dhcp6Event);
2317 NetMapClean (&Instance->DadPassedMap);
2318 NetMapClean (&Instance->DadFailedMap);
2322 DataItem = &Instance->DataItem[Index];
2332 NetMapClean (&Instance->DataItem[Index].EventMap);
2335 Ip6ConfigFormUnload (Instance);
2337 RemoveEntryList (&Instance->Link);
2343 @param[in, out] Instance The buffer of IP6_CONFIG_INSTANCE to be freed.
2351 IN OUT IP6_CONFIG_INSTANCE *Instance
2358 Dhcp6 = Instance->Dhcp6;
2363 Instance->Dhcp6 = NULL;
2365 IpSb = IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE (Instance);
2371 Instance->Dhcp6Handle,
2384 Instance->Dhcp6Handle
2387 Instance->Dhcp6Handle = NULL;