/* Allocate and initialize an IP4 route cache entry. */
IP4_ROUTE_CACHE_ENTRY* Ip4CreateRouteCacheEntry(IN IP4_ADDR Dst, IN IP4_ADDR Src, IN IP4_ADDR GateWay, IN UINTN Tag)
/* Allocate and initialize an IP4 route cache entry. */
IP4_ROUTE_CACHE_ENTRY* Ip4CreateRouteCacheEntry(IN IP4_ADDR Dst, IN IP4_ADDR Src, IN IP4_ADDR GateWay, IN UINTN Tag)
{
  IP4_ROUTE_CACHE_ENTRY  *RtCacheEntry;
  RtCacheEntry = AllocatePool (sizeof (IP4_ROUTE_CACHE_ENTRY));
  if (RtCacheEntry == NULL) {
    return NULL;
  }
  InitializeListHead (&RtCacheEntry->Link);
  RtCacheEntry->RefCnt  = 1;
  RtCacheEntry->Dest    = Dst;
  RtCacheEntry->Src     = Src;
  RtCacheEntry->NextHop = GateWay;
  RtCacheEntry->Tag     = Tag;
  return RtCacheEntry;
}