Lines Matching refs:Entry
58 LIST_ENTRY *Entry;
70 NET_LIST_FOR_EACH (Entry, &IpSb->NeighborTable) {
86 NET_LIST_FOR_EACH (Entry, &IpSb->NeighborTable) {
87 Neighbor = NET_LIST_USER_STRUCT (Entry, IP6_NEIGHBOR_ENTRY, Link);
123 LIST_ENTRY *Entry;
136 NET_LIST_FOR_EACH (Entry, &IpSb->OnlinkPrefix) {
152 NET_LIST_FOR_EACH (Entry, &IpSb->OnlinkPrefix) {
153 PrefixList = NET_LIST_USER_STRUCT (Entry, IP6_PREFIX_LIST_ENTRY, Link);
168 Allocate and initialize a IP6 prefix list entry.
171 @param[in] OnLinkOrAuto If TRUE, the entry is created for the on link prefix list.
182 to the created or existing prefix list entry.
198 LIST_ENTRY *Entry;
232 // Create a direct route entry for on-link prefix and insert to route area.
247 // Insert the prefix entry in the order that a prefix with longer prefix length
250 NET_LIST_FOR_EACH (Entry, ListHead) {
251 TmpPrefixEntry = NET_LIST_USER_STRUCT(Entry, IP6_PREFIX_LIST_ENTRY, Link);
258 NetListInsertBefore (Entry, &PrefixEntry->Link);
264 Destroy a IP6 prefix list entry.
267 @param[in] PrefixEntry The to be destroyed prefix list entry.
268 @param[in] OnLinkOrAuto If TRUE, the entry is removed from on link prefix list.
270 @param[in] ImmediateDelete If TRUE, remove the entry directly.
283 LIST_ENTRY *Entry;
307 NET_LIST_FOR_EACH (Entry, &IpSb->Interfaces) {
308 IpIf = NET_LIST_USER_STRUCT_S (Entry, IP6_INTERFACE, Link, IP6_INTERFACE_SIGNATURE);
319 Search the list array to find an IP6 prefix list entry.
327 @return NULL if cannot find the IP6 prefix list entry. Otherwise, return the
328 pointer to the IP6 prefix list entry.
340 LIST_ENTRY *Entry;
352 NET_LIST_FOR_EACH (Entry, ListHead) {
353 PrefixList = NET_LIST_USER_STRUCT (Entry, IP6_PREFIX_LIST_ENTRY, Link);
377 Release the resource in the prefix list table, and destroy the list entry and
381 @param[in] ListHead The list entry head of the prefix list table.
414 LIST_ENTRY *Entry;
446 NET_LIST_FOR_EACH_SAFE (Entry, Next, &ArpQue->Frames) {
447 RemoveEntryList (Entry);
449 Token = NET_LIST_USER_STRUCT (Entry, IP6_LINK_TX_TOKEN, Link);
474 // Free the ArpQue only but not the whole neighbor entry.
485 Allocate and initialize an IP6 neighbor cache entry.
494 @return NULL if failed to allocate memory for the neighbor cache entry.
495 Otherwise, point to the created neighbor cache entry.
506 IP6_NEIGHBOR_ENTRY *Entry;
512 Entry = AllocateZeroPool (sizeof (IP6_NEIGHBOR_ENTRY));
513 if (Entry == NULL) {
517 Entry->RefCnt = 1;
518 Entry->IsRouter = FALSE;
519 Entry->ArpFree = FALSE;
520 Entry->Dynamic = FALSE;
521 Entry
522 Entry->Transmit = IP6_MAX_MULTICAST_SOLICIT + 1;
523 Entry->CallBack = CallBack;
524 Entry->Interface = NULL;
526 InitializeListHead (&Entry->Frames);
528 IP6_COPY_ADDRESS (&Entry->Neighbor, Ip6Address);
531 IP6_COPY_LINK_ADDRESS (&Entry->LinkAddress, LinkAddress);
533 IP6_COPY_LINK_ADDRESS (&Entry->LinkAddress, &mZeroMacAddress);
536 InsertHeadList (&IpSb->NeighborTable, &Entry->Link);
539 // If corresponding default router entry exists, establish the relationship.
543 DefaultRouter->NeighborCache = Entry;
546 return Entry;
550 Search a IP6 neighbor cache entry.
555 @return NULL if it failed to find the matching neighbor cache entry.
556 Otherwise, point to the found neighbor cache entry.
565 LIST_ENTRY *Entry;
572 NET_LIST_FOR_EACH_SAFE (Entry, Next, &IpSb->NeighborTable) {
573 Neighbor = NET_LIST_USER_STRUCT (Entry, IP6_NEIGHBOR_ENTRY, Link);
575 RemoveEntryList (Entry);
576 InsertHeadList (&IpSb->NeighborTable, Entry);
586 Free a IP6 neighbor cache entry and remove all the frames on the address
591 @param[in] NeighborCache The to be free neighbor cache entry.
593 @param[in] FullFree If TRUE, remove the neighbor cache entry.
618 LIST_ENTRY *Entry;
630 NET_LIST_FOR_EACH_SAFE (Entry, Next, &NeighborCache->Frames) {
631 TxToken = NET_LIST_USER_STRUCT (Entry, IP6_LINK_TX_TOKEN, Link);
646 RemoveEntryList (Entry);
673 Allocate and initialize an IP6 default router entry.
691 IP6_DEFAULT_ROUTER *Entry;
697 Entry = AllocatePool (sizeof (IP6_DEFAULT_ROUTER));
698 if (Entry == NULL) {
702 Entry->RefCnt = 1;
703 Entry->Lifetime = RouterLifetime;
704 Entry->NeighborCache = Ip6FindNeighborEntry (IpSb, Ip6Address);
705 IP6_COPY_ADDRESS (&Entry->Router, Ip6Address);
712 FreePool (Entry);
719 InsertTailList (&IpSb->DefaultRouterList, &Entry->Link);
721 return Entry;
725 Destroy an IP6 default router entry.
787 LIST_ENTRY *Entry;
793 NET_LIST_FOR_EACH (Entry, &IpSb->DefaultRouterList) {
794 DefaultRouter = NET_LIST_USER_STRUCT (Entry, IP6_DEFAULT_ROUTER, Link);
808 @param[in] DadEntry The DAD entry which already performed DAD.
952 Create a DAD (Duplicate Address Detection) entry and queue it to be performed.
962 @retval EFI_SUCCESS The DAD entry was created and queued.
976 IP6_DAD_ENTRY *Entry;
999 Entry = AllocatePool (sizeof (IP6_DAD_ENTRY));
1000 if (Entry == NULL) {
1007 Ip6CreateSNMulticastAddr (&AddressInfo->Address, &Entry->Destination);
1012 Status = Ip6JoinGroup (IpSb, IpIf, &Entry->Destination);
1014 FreePool (Entry);
1018 Entry->Signature = IP6_DAD_ENTRY_SIGNATURE;
1019 Entry->MaxTransmit = DadXmits->DupAddrDetectTransmits;
1020 Entry->Transmit = 0;
1021 Entry->Receive = 0;
1023 Entry->RetransTick = (MaxDelayTick * ((NET_RANDOM (NetRandomInitSeed ()) % 5) + 1)) / 5;
1024 Entry->AddressInfo = AddressInfo;
1025 Entry->Callback = Callback;
1026 Entry->Context = Context;
1027 InsertTailList (&IpIf->DupAddrDetectList, &Entry->Link);
1029 if (Entry->MaxTransmit == 0) {
1033 Ip6OnDADFinished (TRUE, IpIf, Entry);
1047 @return NULL if failed to find the matching DAD entry.
1048 Otherwise, point to the found DAD entry.
1058 LIST_ENTRY *Entry;
1064 NET_LIST_FOR_EACH (Entry
1065 IpIf = NET_LIST_USER_STRUCT (Entry, IP6_INTERFACE, Link);
1202 an existing cache entry and update the MAC address.
1433 // Create a Neighbor Cache entry in the INCOMPLETE state when performing
1780 // Search the Neighbor Cache for the target's entry. If no entry exists,
1830 // If the target's Neighbor Cache entry is in INCOMPLETE state and no
1859 // that in the cache, if the state of the entry is not REACHABLE, ignore the
1860 // message. Otherwise set it to STALE but do not update the entry in any
1872 // Update the entry's state
2014 // Otherwise create a new entry.
2030 // Check the corresponding neighbor cache entry here.
2038 // immediately time-out the entry.
2088 // IsRouter flag must be set to TRUE if corresponding neighbor cache entry exists.
2140 // the cache entry's state remains unchanged. Otherwise update the
2202 // Create a new entry for the prefix, if the ValidLifetime is zero,
2241 // Create a new entry for the prefix, and form an address by prefix + interface id
2523 // corresponding route cache entry.
2540 // Get the Route Entry.
2570 // Insert the newly created route cache entry.
2605 // the cache entry's state remains unchanged. Otherwise update the
2646 @param[in] Timeout Time in 100-ns units that this entry will remain in the neighbor
2648 the entry is permanent. A non-zero value means that the entry is
2650 @param[in] Override If TRUE, the cached link-layer address of the matching entry will
2652 corresponding cache entry already existed, EFI_ACCESS_DENIED
2655 @retval EFI_SUCCESS The neighbor cache entry has been added.
2656 @retval EFI_OUT_OF_RESOURCES Could not add the entry to the neighbor cache
2659 @retval EFI_ACCESS_DENIED The to-be-added entry is already defined in the neighbor cache,
2660 and that entry is tagged as un-overridden (when DeleteFlag
2713 @param[in] Timeout Time in 100-ns units that this entry will remain in the neighbor
2715 the entry is permanent. A non-zero value means that the entry is
2717 @param[in] Override If TRUE, the cached link-layer address of the matching entry will
2719 corresponding cache entry already existed, EFI_ACCESS_DENIED
2722 @retval EFI_SUCCESS The neighbor cache entry has been updated or deleted.
2723 @retval EFI_NOT_FOUND This entry is not in the neighbor cache.
2764 LIST_ENTRY *Entry;
2800 NET_LIST_FOR_EACH (Entry, &IpSb->Interfaces) {
2801 IpIf = NET_LIST_USER_STRUCT (Entry, IP6_INTERFACE, Link);
2876 NET_LIST_FOR_EACH_SAFE (Entry, Next, &IpSb->NeighborTable) {
2877 NeighborCache = NET_LIST_USER_STRUCT (Entry, IP6_NEIGHBOR_ENTRY, Link);
2894 // for RetransTimer and then remove entry if no response is received.
2925 // Timeout, send ICMP destination unreachable packet and then remove entry
2945 // This entry is inserted by EfiIp6Neighbors() as static entry
2955 // This entry is inserted by EfiIp6Neighbors() as dynamic entry
3022 // wait for RetransTimer and then remove entry if no response is received.
3052 // Delete the neighbor entry.
3089 LIST_ENTRY *Entry;
3099 NET_LIST_FOR_EACH_SAFE (Entry, Next, &IpSb->DefaultRouterList) {
3100 DefaultRouter = NET_LIST_USER_STRUCT (Entry, IP6_DEFAULT_ROUTER, Link);
3111 NET_LIST_FOR_EACH_SAFE (Entry, Next, &IpSb->AutonomousPrefix) {
3112 PrefixOption = NET_LIST_USER_STRUCT (Entry, IP6_PREFIX_LIST_ENTRY, Link);
3126 NET_LIST_FOR_EACH_SAFE (Entry, Next, &IpSb->OnlinkPrefix) {
3127 PrefixOption = NET_LIST_USER_STRUCT (Entry, IP6_PREFIX_LIST_ENTRY, Link);
3143 Entry = NetListRemoveTail (&IpSb->RouteTable->Cache.CacheBucket[Index]);
3144 if (Entry == NULL) {
3148 RouteCache = NET_LIST_USER_STRUCT (Entry, IP6_ROUTE_CACHE_ENTRY, Link);