Home | History | Annotate | Download | only in Ip6Dxe

Lines Matching refs:IpSb

23   @param[in, out] IpSb     Points to the IP6_SERVICE.

28 IN OUT IP6_SERVICE *IpSb
35 IpSb->ReachableTime = (IpSb->BaseReachableTime * Random) / IP6_RANDOM_FACTOR_SCALE;
59 IP6_SERVICE *IpSb;
67 IpSb = IpInstance->Service;
70 NET_LIST_FOR_EACH (Entry, &IpSb->NeighborTable) {
86 NET_LIST_FOR_EACH (Entry, &IpSb->NeighborTable) {
124 IP6_SERVICE *IpSb;
133 IpSb = IpInstance->Service;
136 NET_LIST_FOR_EACH (Entry, &IpSb->OnlinkPrefix) {
152 NET_LIST_FOR_EACH (Entry, &IpSb->OnlinkPrefix) {
170 @param[in] IpSb The pointer to IP6_SERVICE instance.
187 IN IP6_SERVICE *IpSb,
205 NET_CHECK_SIGNATURE (IpSb, IP6_SERVICE_SIGNATURE);
208 IpSb,
229 ListHead = OnLinkOrAuto ? &IpSb->OnlinkPrefix : &IpSb->AutonomousPrefix;
242 InsertHeadList (&IpSb->RouteTable->RouteArea[PrefixLength], &RtEntry->Link);
243 IpSb->RouteTable->TotalNum++;
266 @param[in] IpSb The pointer to IP6_SERVICE instance.
277 IN IP6_SERVICE *IpSb,
297 IpSb->RouteTable,
307 NET_LIST_FOR_EACH (Entry, &IpSb->Interfaces) {
310 Ip6RemoveAddr (IpSb, &IpIf->AddressList, &IpIf->AddressCount, &PrefixEntry->Prefix, PrefixEntry->PrefixLength);
321 @param[in] IpSb The pointer to IP6_SERVICE instance.
333 IN IP6_SERVICE *IpSb,
343 NET_CHECK_SIGNATURE (IpSb, IP6_SERVICE_SIGNATURE);
347 ListHead = &IpSb->OnlinkPrefix;
349 ListHead = &IpSb->AutonomousPrefix;
380 @param[in] IpSb The pointer to the IP6_SERVICE instance.
386 IN IP6_SERVICE *IpSb,
393 OnLink = (BOOLEAN) (ListHead == &IpSb->OnlinkPrefix);
397 Ip6DestroyPrefixListEntry (IpSb, PrefixList, OnLink, TRUE);
417 IP6_SERVICE *IpSb;
427 IpSb = ArpQue->Interface->Service;
428 if ((IpSb == NULL) || (IpSb->Signature != IP6_SERVICE_SIGNATURE)) {
437 if (NET_MAC_EQUAL (&ArpQue->LinkAddress, &mZeroMacAddress, IpSb->SnpMode.HwAddressSize)) {
438 Ip6FreeNeighborEntry (IpSb, ArpQue, FALSE, TRUE, EFI_NO_MAPPING, NULL, NULL);
461 Status = IpSb->Mnp->Transmit (IpSb->Mnp, &Token->MnpToken);
476 Ip6FreeNeighborEntry (IpSb, ArpQue, FALSE, FALSE, EFI_SUCCESS, NULL, NULL);
487 @param[in] IpSb The pointer to the IP6_SERVICE instance.
500 IN IP6_SERVICE *IpSb,
509 NET_CHECK_SIGNATURE (IpSb, IP6_SERVICE_SIGNATURE);
536 InsertHeadList (&IpSb->NeighborTable, &Entry->Link);
541 DefaultRouter = Ip6FindDefaultRouter (IpSb, Ip6Address);
552 @param[in] IpSb The pointer to the IP6_SERVICE instance.
561 IN IP6_SERVICE *IpSb,
569 NET_CHECK_SIGNATURE (IpSb, IP6_SERVICE_SIGNATURE);
572 NET_LIST_FOR_EACH_SAFE (Entry, Next, &IpSb->NeighborTable) {
576 InsertHeadList (&IpSb->NeighborTable, Entry);
590 @param[in] IpSb The pointer to the IP6_SERVICE instance.
608 IN IP6_SERVICE *IpSb,
635 IpSb,
659 DefaultRouter = Ip6FindDefaultRouter (IpSb, &NeighborCache->Neighbor);
661 Ip6DestroyDefaultRouter (IpSb, DefaultRouter);
675 @param[in] IpSb The pointer to the IP6_SERVICE instance.
686 IN IP6_SERVICE *IpSb,
694 NET_CHECK_SIGNATURE (IpSb, IP6_SERVICE_SIGNATURE);
704 Entry->NeighborCache = Ip6FindNeighborEntry (IpSb, Ip6Address);
716 InsertHeadList (&IpSb->RouteTable->RouteArea[0], &RtEntry->Link);
717 IpSb->RouteTable->TotalNum++;
719 InsertTailList (&IpSb->DefaultRouterList, &Entry->Link);
727 @param[in] IpSb The pointer to the IP6_SERVICE instance.
733 IN IP6_SERVICE *IpSb,
746 Status = Ip6DelRoute (IpSb->RouteTable, NULL, 0, &DefaultRouter->Router);
755 @param[in] IpSb The pointer to the IP6_SERVICE instance.
760 IN IP6_SERVICE *IpSb
765 while (!IsListEmpty (&IpSb->DefaultRouterList)) {
766 DefaultRouter = NET_LIST_HEAD (&IpSb->DefaultRouterList, IP6_DEFAULT_ROUTER, Link);
767 Ip6DestroyDefaultRouter (IpSb, DefaultRouter);
774 @param[in] IpSb The pointer to the IP6_SERVICE instance.
783 IN IP6_SERVICE *IpSb,
790 NET_CHECK_SIGNATURE (IpSb, IP6_SERVICE_SIGNATURE);
793 NET_LIST_FOR_EACH (Entry, &IpSb->DefaultRouterList) {
818 IP6_SERVICE *IpSb;
826 IpSb = IpIf->Service;
834 ASSERT (!IpSb->LinkLocalOk);
836 IP6_COPY_ADDRESS (&IpSb->LinkLocalAddr, &AddrInfo->Address);
837 IpSb->LinkLocalOk = TRUE;
843 Dhcp6 = IpSb->Ip6ConfigInstance.Dhcp6;
845 if (IpSb->Dhcp6NeedStart) {
847 IpSb->Dhcp6NeedStart = FALSE;
850 if (IpSb->Dhcp6NeedInfoRequest) {
872 IpSb->Ip6ConfigInstance.Dhcp6Event,
874 &IpSb->Ip6ConfigInstance
882 IpSb,
887 &IpSb->LinkLocalAddr
900 IpSb,
914 Ip6LeaveGroup (IpSb, &DadEntry->Destination);
929 Ip6LeaveGroup (IpSb, &AllNodes);
933 IpSb->LinkLocalDadFail = TRUE;
934 IpSb->Mnp->Configure (IpSb->Mnp, NULL);
935 gBS->SetTimer (IpSb->Timer, TimerCancel, 0);
936 gBS->SetTimer (IpSb->FasterTimer, TimerCancel, 0);
978 IP6_SERVICE *IpSb;
993 IpSb = IpIf->Service;
994 DadXmits = &IpSb->Ip6ConfigInstance.DadXmits;
1012 Status = Ip6JoinGroup (IpSb, IpIf, &Entry->Destination);
1042 @param[in] IpSb The pointer to the IP6_SERVICE instance.
1053 IN IP6_SERVICE *IpSb,
1064 IpSb->Interfaces) {
1086 @param[in] IpSb The IP service to send the packet.
1102 IN IP6_SERVICE *IpSb,
1116 NET_CHECK_SIGNATURE (IpSb, IP6_SERVICE_SIGNATURE);
1119 if (IpIf == NULL && IpSb->DefaultInterface != NULL) {
1120 IpIf = IpSb->DefaultInterface;
1187 return Ip6Output (IpSb, IpIf, NULL, Packet, &Head, NULL, 0, Ip6SysPacketSent, NULL);
1193 @param[in] IpSb The IP service to send the packet.
1214 IN IP6_SERVICE *IpSb,
1231 NET_CHECK_SIGNATURE (IpSb, IP6_SERVICE_SIGNATURE);
1306 return Ip6Output (IpSb, NULL, NULL, Packet, &Head, NULL, 0, Ip6SysPacketSent, NULL);
1312 @param[in] IpSb The IP service to send the packet
1329 IN IP6_SERVICE *IpSb,
1348 NET_CHECK_SIGNATURE (IpSb, IP6_SERVICE_SIGNATURE);
1437 Neighbor = Ip6FindNeighborEntry (IpSb, TargetIp6Address);
1439 Neighbor = Ip6CreateNeighborEntry (IpSb, Ip6OnArpResolved, TargetIp6Address, NULL);
1447 return Ip6Output (IpSb, IpSb->DefaultInterface, NULL, Packet, &Head, NULL, 0, Ip6SysPacketSent, NULL);
1454 @param[in] IpSb The IP service that received the packet.
1466 IN IP6_SERVICE *IpSb,
1528 IsMaintained = Ip6IsOneOfSetAddress (IpSb, &Target, &IpIf, NULL);
1585 DupAddrDetect = Ip6FindDADEntry (IpSb, &Target, &IpIf);
1590 if (IpSb->RecvRequest.MnpToken.Packet.RxData == NULL) {
1594 MacAddress = IpSb->RecvRequest.MnpToken.Packet.RxData->SourceAddress;
1598 &IpSb->SnpMode.CurrentAddress,
1599 IpSb->SnpMode.HwAddressSize
1624 Neighbor = Ip6FindNeighborEntry (IpSb, &Head->SourceAddress);
1628 Neighbor = Ip6CreateNeighborEntry (IpSb, Ip6OnArpResolved, &Head->SourceAddress, NULL);
1666 IpSb,
1670 &IpSb->SnpMode.CurrentAddress,
1683 @param[in] IpSb The IP service that received the packet.
1695 IN IP6_SERVICE *IpSb,
1769 DupAddrDetect = Ip6FindDADEntry (IpSb, &Target, &IpIf);
1783 Neighbor = Ip6FindNeighborEntry (IpSb, &Target);
1822 DefaultRouter = Ip6FindDefaultRouter (IpSb, &Target);
1843 Neighbor->Ticks = IP6_GET_TICKS (IpSb->ReachableTime);
1876 Neighbor->Ticks = IP6_GET_TICKS (IpSb->ReachableTime);
1890 DefaultRouter = Ip6FindDefaultRouter (IpSb, &Target);
1892 Ip6DestroyDefaultRouter (IpSb, DefaultRouter);
1914 @param[in] IpSb The IP service that received the packet.
1927 IN IP6_SERVICE *IpSb,
1960 if (IpSb->Ip6ConfigInstance.Policy != Ip6ConfigPolicyAutomatic) {
2017 DefaultRouter = Ip6FindDefaultRouter (IpSb, &Head->SourceAddress);
2020 DefaultRouter = Ip6CreateDefaultRouter (IpSb, &Head->SourceAddress, RouterLifetime);
2033 DefaultRouter->NeighborCache = Ip6FindNeighborEntry (IpSb, &Head->SourceAddress);
2040 Ip6DestroyDefaultRouter (IpSb, DefaultRouter);
2046 IpSb->CurHopLimit = CurHopLimit;
2063 Ip6ConfigStartStatefulAutoConfig (&IpSb->Ip6ConfigInstance, Oflag);
2074 if (ReachableTime != 0 && ReachableTime != IpSb->BaseReachableTime) {
2079 IpSb->BaseReachableTime = ReachableTime;
2080 Ip6UpdateReachableTime (IpSb);
2084 IpSb->RetransTimer = RetransTimer;
2090 NeighborCache = Ip6FindNeighborEntry (IpSb, &Head->SourceAddress);
2098 IpSb->RouterAdvertiseReceived = TRUE;
2123 IpSb,
2196 IpSb,
2207 IpSb,
2225 Ip6DestroyPrefixListEntry (IpSb, PrefixList, OnLink, TRUE);
2235 IpSb,
2247 PrefixOption.PrefixLength + IpSb->InterfaceIdLen * 8 == 128
2253 CopyMem (&StatelessAddress.Addr[8], IpSb->InterfaceId, sizeof (UINT64));
2258 if (!Ip6IsOneOfSetAddress (IpSb, &StatelessAddress, NULL, NULL)) {
2262 if (Ip6FindDADEntry (IpSb, &StatelessAddress, NULL) == NULL) {
2264 IpSb->DefaultInterface,
2283 IpSb,
2367 @param[in] IpSb The IP6 service binding instance that received
2381 IN IP6_SERVICE *IpSb,
2435 if (!Ip6IsOneOfSetAddress (IpSb, &Head->DestinationAddress, NULL, NULL)) {
2518 RouteCache = Ip6FindRouteCache (IpSb->RouteTable, IcmpDest, &Head->DestinationAddress);
2542 RouteEntry = Ip6FindRouteEntry (IpSb->RouteTable, IcmpDest, NULL);
2573 InsertHeadList (&IpSb->RouteTable->Cache.CacheBucket[Index], &RouteCache->Link);
2579 NeighborCache = Ip6FindNeighborEntry (IpSb, Target);
2588 NeighborCache = Ip6CreateNeighborEntry (IpSb, Ip6OnArpResolved, Target, &Mac);
2643 @param[in] IpSb The IP6 service binding instance.
2666 IN IP6_SERVICE *IpSb,
2675 Neighbor = Ip6FindNeighborEntry (IpSb, TargetIp6Address);
2689 Neighbor = Ip6CreateNeighborEntry (IpSb, Ip6OnArpResolved, TargetIp6Address, TargetLinkAddress);
2710 @param[in] IpSb The IP6 service binding instance.
2728 IN IP6_SERVICE *IpSb,
2737 Neighbor = Ip6FindNeighborEntry (IpSb, TargetIp6Address);
2774 IP6_SERVICE *IpSb;
2777 IpSb = (IP6_SERVICE *) Context;
2778 NET_CHECK_SIGNATURE (IpSb, IP6_SERVICE_SIGNATURE);
2787 if ((IpSb->Ip6ConfigInstance.Policy == Ip6ConfigPolicyAutomatic) &&
2788 !IpSb->RouterAdvertiseReceived &&
2789 IpSb->SolicitTimer > 0
2791 if ((IpSb->Ticks == 0) || (--IpSb->Ticks == 0)) {
2792 Status = Ip6SendRouterSolicit (IpSb, NULL, NULL, NULL, NULL);
2794 IpSb->SolicitTimer--;
2795 IpSb->Ticks = (UINT32) IP6_GET_TICKS (IP6_RTR_SOLICITATION_INTERVAL);
2800 NET_LIST_FOR_EACH (Entry, &IpSb->Interfaces) {
2844 IpSb,
2855 DupAddrDetect->RetransTick = IP6_GET_TICKS (IpSb->RetransTimer);
2876 NET_LIST_FOR_EACH_SAFE (Entry, Next, &IpSb->NeighborTable) {
2897 Status = Ip6SelectSourceAddress (IpSb, &NeighborCache->Neighbor, &Source);
2903 IpSb,
2907 &IpSb->SnpMode.CurrentAddress
2919 NeighborCache->Ticks = IP6_GET_TICKS (IpSb->RetransTimer);
2928 IpSb,
2959 IpSb,
2982 NeighborCache->Ticks = IP6_GET_TICKS (IpSb->RetransTimer);
2987 Status = Ip6SelectSourceAddress (IpSb, &NeighborCache->Neighbor, &Source);
2993 IpSb,
2997 &IpSb->SnpMode.CurrentAddress
3024 Status = Ip6SelectSourceAddress (IpSb, &NeighborCache->Neighbor, &Source);
3030 IpSb,
3034 &IpSb->SnpMode.CurrentAddress
3046 NeighborCache->Ticks = IP6_GET_TICKS (IpSb->RetransTimer);
3055 IpSb,
3081 @param[in] IpSb The IP6 service binding instance.
3086 IN IP6_SERVICE *IpSb
3099 NET_LIST_FOR_EACH_SAFE (Entry, Next, &IpSb->DefaultRouterList) {
3103 Ip6DestroyDefaultRouter (IpSb, DefaultRouter);
3111 NET_LIST_FOR_EACH_SAFE (Entry, Next, &IpSb->AutonomousPrefix) {
3121 Ip6DestroyPrefixListEntry (IpSb, PrefixOption, FALSE, TRUE);
3126 NET_LIST_FOR_EACH_SAFE (Entry, Next, &IpSb->OnlinkPrefix) {
3130 Ip6DestroyPrefixListEntry (IpSb, PrefixOption, TRUE, TRUE);
3142 while (IpSb->RouteTable->Cache.CacheNum[Index] > IP6_ROUTE_CACHE_MAX) {
3143 Entry = NetListRemoveTail (&IpSb->RouteTable->Cache.CacheBucket[Index]);
3150 ASSERT (IpSb->RouteTable->Cache.CacheNum[Index] > 0);
3151 IpSb->RouteTable->Cache.CacheNum[Index]--;