From 96e1079fa412753e42edf293ce28adda88e68a45 Mon Sep 17 00:00:00 2001 From: jgong5 Date: Tue, 11 Nov 2008 09:23:25 +0000 Subject: [PATCH] Scrubbed more. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6454 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Universal/Network/Ip4Dxe/Ip4Common.h | 14 ++-- MdeModulePkg/Universal/Network/Ip4Dxe/Ip4If.h | 32 +++++----- .../Universal/Network/Ip4Dxe/Ip4Igmp.h | 22 +++---- .../Universal/Network/Ip4Dxe/Ip4Impl.c | 2 +- .../Universal/Network/Ip4Dxe/Ip4Impl.h | 36 +++++------ .../Universal/Network/Ip4Dxe/Ip4Input.c | 37 ++++++----- .../Universal/Network/Ip4Dxe/Ip4Input.h | 42 ++++++------ .../Universal/Network/Ip4Dxe/Ip4Option.c | 22 +++---- .../Universal/Network/Ip4Dxe/Ip4Output.c | 24 +++---- .../Universal/Network/Ip4Dxe/Ip4Route.c | 46 +++++++------ .../Universal/Network/Ip4Dxe/Ip4Route.h | 64 +++++++++---------- 11 files changed, 171 insertions(+), 170 deletions(-) diff --git a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Common.h b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Common.h index 58fb83f524..9142e1df42 100644 --- a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Common.h +++ b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Common.h @@ -66,9 +66,9 @@ typedef enum { #define IP4_ALLSYSTEM_ADDRESS 0xE0000001u #define IP4_ALLROUTER_ADDRESS 0xE0000002u -// -// Compose the fragment field to be used in the IP4 header. -// +/// +/// Compose the fragment field to be used in the IP4 header. +/// #define IP4_HEAD_FRAGMENT_FIELD(Df, Mf, Offset) \ ((UINT16)(((Df) ? 0x4000 : 0) | ((Mf) ? 0x2000 : 0) | (((Offset) >> 3) & 0x1fff))) @@ -80,10 +80,10 @@ typedef enum { #define IP4_IS_BROADCAST(CastType) ((CastType) >= IP4_LOCAL_BROADCAST) -// -// Conver the Microsecond to second. IP transmit/receive time is -// in the unit of microsecond. IP ticks once per second. -// +/// +/// Conver the Microsecond to second. IP transmit/receive time is +/// in the unit of microsecond. IP ticks once per second. +/// #define IP4_US_TO_SEC(Us) (((Us) + 999999) / 1000000) INTN diff --git a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4If.h b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4If.h index ec07117eeb..e8e60c2490 100644 --- a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4If.h +++ b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4If.h @@ -64,12 +64,12 @@ VOID IN VOID *Context ); -// -// Each receive request is wrapped in an IP4_LINK_RX_TOKEN. -// Upon completion, the Callback will be called. Only one -// receive request is send to MNP. IpInstance is always NULL. -// Reference MNP's spec for information. -// +/// +/// Each receive request is wrapped in an IP4_LINK_RX_TOKEN. +/// Upon completion, the Callback will be called. Only one +/// receive request is send to MNP. IpInstance is always NULL. +/// Reference MNP's spec for information. +/// typedef struct { UINT32 Signature; IP4_INTERFACE *Interface; @@ -81,10 +81,10 @@ typedef struct { EFI_MANAGED_NETWORK_COMPLETION_TOKEN MnpToken; } IP4_LINK_RX_TOKEN; -// -// Each transmit request is wrapped in an IP4_LINK_TX_TOKEN. -// Upon completion, the Callback will be called. -// +/// +/// Each transmit request is wrapped in an IP4_LINK_TX_TOKEN. +/// Upon completion, the Callback will be called. +/// typedef struct { UINT32 Signature; LIST_ENTRY Link; @@ -103,12 +103,12 @@ typedef struct { EFI_MANAGED_NETWORK_TRANSMIT_DATA MnpTxData; } IP4_LINK_TX_TOKEN; -// -// Only one ARP request is requested for all the frames in -// a time. It is started for the first frames to the Ip. Any -// subsequent transmission frame will be linked to Frames, and -// be sent all at once the ARP requests succeed. -// +/// +/// Only one ARP request is requested for all the frames in +/// a time. It is started for the first frames to the Ip. Any +/// subsequent transmission frame will be linked to Frames, and +/// be sent all at once the ARP requests succeed. +/// typedef struct { UINT32 Signature; LIST_ENTRY Link; diff --git a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Igmp.h b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Igmp.h index 9f3fe4a410..6c48d6aca8 100644 --- a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Igmp.h +++ b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Igmp.h @@ -31,12 +31,12 @@ typedef struct { } IGMP_HEAD; #pragma pack() -// -// The status of multicast group. It isn't necessary to maintain -// explicit state of host state diagram. A group with non-zero -// DelayTime is in "delaying member" state. otherwise, it is in -// "idle member" state. -// +/// +/// The status of multicast group. It isn't necessary to maintain +/// explicit state of host state diagram. A group with non-zero +/// DelayTime is in "delaying member" state. otherwise, it is in +/// "idle member" state. +/// typedef struct { LIST_ENTRY Link; INTN RefCnt; @@ -46,11 +46,11 @@ typedef struct { EFI_MAC_ADDRESS Mac; } IGMP_GROUP; -// -// The IGMP status. Each IP4 service instance has a IGMP_SERVICE_DATA -// attached. The Igmpv1QuerySeen remember whether the server on this -// connected network is v1 or v2. -// +/// +/// The IGMP status. Each IP4 service instance has a IGMP_SERVICE_DATA +/// attached. The Igmpv1QuerySeen remember whether the server on this +/// connected network is v1 or v2. +/// typedef struct { INTN Igmpv1QuerySeen; LIST_ENTRY Groups; diff --git a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Impl.c b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Impl.c index 4e710ca29b..2026bcc7d4 100644 --- a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Impl.c +++ b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Impl.c @@ -2435,7 +2435,7 @@ EfiIp4Poll ( /** Decrease the life of the transmitted packets. If it is decreased to zero, cancel the packet. This function is - called by Ip4packetTimerTicking which time out both the + called by Ip4PacketTimerTicking which time out both the received-but-not-delivered and transmitted-but-not-recycle packets. diff --git a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Impl.h b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Impl.h index dd189ae8da..1058432aae 100644 --- a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Impl.h +++ b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Impl.h @@ -76,15 +76,15 @@ typedef enum { IP4_SERVICE_DESTORY } IP4_IMPL_ENUM_TYPES; -// -// IP4_TXTOKEN_WRAP wraps the upper layer's transmit token. -// The user's data is kept in the Packet. When fragment is -// needed, each fragment of the Packet has a reference to the -// Packet, no data is actually copied. The Packet will be -// released when all the fragments of it have been recycled by -// MNP. Upon then, the IP4_TXTOKEN_WRAP will be released, and -// user's event signalled. -// +/// +/// IP4_TXTOKEN_WRAP wraps the upper layer's transmit token. +/// The user's data is kept in the Packet. When fragment is +/// needed, each fragment of the Packet has a reference to the +/// Packet, no data is actually copied. The Packet will be +/// released when all the fragments of it have been recycled by +/// MNP. Upon then, the IP4_TXTOKEN_WRAP will be released, and +/// user's event signalled. +/// typedef struct { IP4_PROTOCOL *IpInstance; EFI_IP4_COMPLETION_TOKEN *Token; @@ -93,15 +93,15 @@ typedef struct { INTN Life; } IP4_TXTOKEN_WRAP; -// -// IP4_RXDATA_WRAP wraps the data IP4 child delivers to the -// upper layers. The received packet is kept in the Packet. -// The Packet itself may be constructured from some fragments. -// All the fragments of the Packet is organized by a -// IP4_ASSEMBLE_ENTRY structure. If the Packet is recycled by -// the upper layer, the assemble entry and its associated -// fragments will be freed at last. -// +/// +/// IP4_RXDATA_WRAP wraps the data IP4 child delivers to the +/// upper layers. The received packet is kept in the Packet. +/// The Packet itself may be constructured from some fragments. +/// All the fragments of the Packet is organized by a +/// IP4_ASSEMBLE_ENTRY structure. If the Packet is recycled by +/// the upper layer, the assemble entry and its associated +/// fragments will be freed at last. +/// typedef struct { LIST_ENTRY Link; IP4_PROTOCOL *IpInstance; diff --git a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c index 620b6314be..59b40af216 100644 --- a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c +++ b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c @@ -24,7 +24,7 @@ Abstract: /** - Create a empty assemble entry for the packet identified by + Create an empty assemble entry for the packet identified by (Dst, Src, Id, Protocol). The default life for the packet is 120 seconds. @@ -72,7 +72,7 @@ Ip4CreateAssembleEntry ( /** - Release all the fragments of a packet, then free the assemble entry + Release all the fragments of a packet, then free the assemble entry. @param Assemble The assemble entry to free @@ -110,7 +110,7 @@ Ip4FreeAssembleEntry ( **/ VOID Ip4InitAssembleTable ( - IN IP4_ASSEMBLE_TABLE *Table + IN OUT IP4_ASSEMBLE_TABLE *Table ) { UINT32 Index; @@ -164,9 +164,9 @@ Ip4CleanAssembleTable ( **/ VOID Ip4TrimPacket ( - IN NET_BUF *Packet, - IN INTN Start, - IN INTN End + IN OUT NET_BUF *Packet, + IN INTN Start, + IN INTN End ) { IP4_CLIP_INFO *Info; @@ -220,17 +220,19 @@ Ip4OnFreeFragments ( return it to caller. If the packet can't be assembled, NULL is return. - @param Table The assemble table used. - @param Packet The fragment to assemble + @param Table The assemble table used. New assemble entry will be created + if the Packet is from a new chain of fragments. + @param Packet The fragment to assemble. It might be freed if the fragment + can't be re-assembled. @return NULL if the packet can't be reassemble. The point to just assembled - @return packet if all the fragments of the packet have arrived. + packet if all the fragments of the packet have arrived. **/ NET_BUF * Ip4Reassemble ( - IN IP4_ASSEMBLE_TABLE *Table, - IN NET_BUF *Packet + IN OUT IP4_ASSEMBLE_TABLE *Table, + IN OUT NET_BUF *Packet ) { IP4_HEAD *IpHead; @@ -393,7 +395,7 @@ Ip4Reassemble ( // // Deliver the whole packet if all the fragments received. // All fragments received if: - // 1. received the last one, so, the totoal length is know + // 1. received the last one, so, the total length is know // 2. received all the data. If the last fragment on the // queue ends at the total length, all data is received. // @@ -429,7 +431,7 @@ Ip4Reassemble ( return NULL; } - NewPacket->Ip = Assemble->Head; + NewPacket->Ip = Assemble->Head; CopyMem (IP4_GET_CLIP_INFO (NewPacket), Assemble->Info, sizeof (*IP4_GET_CLIP_INFO (NewPacket))); return NewPacket; } @@ -481,7 +483,7 @@ Ip4AccpetFrame ( } // - // Check that the IP4 header is correctly formated + // Check that the IP4 header is correctly formatted // if (Packet->TotalSize < IP4_MIN_HEADLEN) { goto RESTART; @@ -627,7 +629,8 @@ DROP: @param Head The IP header of the packet @param Packet The data of the packet - @return TRUE if the child wants to receive the packet, otherwise return FALSE. + @retval TRUE If the child wants to receive the packet. + @retval FALSE Otherwise. **/ BOOLEAN @@ -648,7 +651,7 @@ Ip4InstanceFrameAcceptable ( // // Dirty trick for the Tiano UEFI network stack implmentation. If // ReceiveTimeout == -1, the receive of the packet for this instance - // is disabled. The UEFI spec don't have such captibility. We add + // is disabled. The UEFI spec don't have such capability. We add // this to improve the performance because IP will make a copy of // the received packet for each accepting instance. Some IP instances // used by UDP/TCP only send packets, they don't wants to receive. @@ -1114,7 +1117,7 @@ Ip4InterfaceDeliverPacket ( to each IP4 child that accepts the packet. The second pass will deliver a non-shared copy of the packet to each IP4 child that has pending receive requests. Data is copied if more than one - child wants to consume the packet bacause each IP child need + child wants to consume the packet because each IP child needs its own copy of the packet to make changes. @param IpSb The IP4 service instance that received the packet diff --git a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.h b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.h index d44029d085..fcbfb01699 100644 --- a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.h +++ b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.h @@ -21,25 +21,25 @@ Abstract: #ifndef __EFI_IP4_INPUT_H__ #define __EFI_IP4_INPUT_H__ -enum { +typedef enum { IP4_MIN_HEADLEN = 20, IP4_MAX_HEADLEN = 60, IP4_ASSEMLE_HASH_SIZE = 31, IP4_FRAGMENT_LIFE = 120, IP4_MAX_PACKET_SIZE = 65535 -}; - -// -// Per packet information for input process. LinkFlag specifies whether -// the packet is received as Link layer unicast, multicast or broadcast. -// The CastType is the IP layer cast type, such as IP multicast or unicast. -// Start, End and Length are staffs used to assemble the packets. Start -// is the sequence number of the first byte of data in the packet. Length -// is the number of bytes of data. End = Start + Length, that is, the -// sequence number of last byte + 1. Each assembled packet has a count down -// life. If it isn't consumed before Life reaches zero, the packet is released. -// +} IP4_INPUT_ENUM_TYPES; + +/// +/// Per packet information for input process. LinkFlag specifies whether +/// the packet is received as Link layer unicast, multicast or broadcast. +/// The CastType is the IP layer cast type, such as IP multicast or unicast. +/// Start, End and Length are staffs used to assemble the packets. Start +/// is the sequence number of the first byte of data in the packet. Length +/// is the number of bytes of data. End = Start + Length, that is, the +/// sequence number of last byte + 1. Each assembled packet has a count down +/// life. If it isn't consumed before Life reaches zero, the packet is released. +/// typedef struct { UINTN LinkFlag; INTN CastType; @@ -50,9 +50,9 @@ typedef struct { EFI_STATUS Status; } IP4_CLIP_INFO; -// -// Structure used to assemble IP packets. -// +/// +/// Structure used to assemble IP packets. +/// typedef struct { LIST_ENTRY Link; @@ -74,11 +74,11 @@ typedef struct { INTN Life; // Count down life for the packet. } IP4_ASSEMBLE_ENTRY; -// -// Each Ip service instance has an assemble table to reassemble -// the packets before delivery to its children. It is organized -// as hash table. -// +/// +/// Each Ip service instance has an assemble table to reassemble +/// the packets before delivery to its children. It is organized +/// as hash table. +/// typedef struct { LIST_ENTRY Bucket[IP4_ASSEMLE_HASH_SIZE]; } IP4_ASSEMBLE_TABLE; diff --git a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Option.c b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Option.c index a28656c9c6..334bb41112 100644 --- a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Option.c +++ b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Option.c @@ -33,8 +33,8 @@ Abstract: @param Rcvd The option is from the packet we received if TRUE, otherwise the option we wants to transmit. - @return TRUE: The option is properly formated - @return FALSE: The option is mal-formated + @retval TRUE The option is properly formatted + @retval FALSE The option is mal-formated **/ BOOLEAN @@ -74,7 +74,7 @@ Ip4OptionIsValid ( Point = Option[Cur + 2]; // - // SRR/RR options are formated as |Type|Len|Point|Ip1|Ip2|... + // SRR/RR options are formatted as |Type|Len|Point|Ip1|Ip2|... // if ((OptionLen - Cur < Len) || (Len < 3) || ((Len - 3) % 4 != 0)) { IcmpPoint = Cur + 1; @@ -124,25 +124,25 @@ Ip4OptionIsValid ( Copy the option from the original option to buffer. It handles the details such as: 1. whether copy the single IP4 option to the first/non-first - fragments. - 2. Pad the options copied over to aligened to 4 bytes. + fragments. + 2. Pad the options copied over to aligned to 4 bytes. @param Option The original option to copy from @param OptionLen The length of the original option @param FirstFragment Whether it is the first fragment - @param Buf The buffer to copy options to + @param Buf The buffer to copy options to. NULL @param BufLen The length of the buffer @retval EFI_SUCCESS The options are copied over - @retval EFI_BUFFER_TOO_SMALL The buffer caller provided is too small. + @retval EFI_BUFFER_TOO_SMALL Buf is NULL or BufLen provided is too small. **/ EFI_STATUS Ip4CopyOption ( - IN UINT8 *Option, - IN UINT32 OptionLen, - IN BOOLEAN FirstFragment, - IN UINT8 *Buf, OPTIONAL + IN UINT8 *Option, + IN UINT32 OptionLen, + IN BOOLEAN FirstFragment, + IN OUT UINT8 *Buf, OPTIONAL IN OUT UINT32 *BufLen ) { diff --git a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Output.c b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Output.c index 4007a4a930..70bdba10d3 100644 --- a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Output.c +++ b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Output.c @@ -31,7 +31,7 @@ UINT16 mIp4Id; @param Packet The packet to prepend IP4 header to @param Head The caller supplied header. The caller should set - the following header fields: Tos, TotalLen, Id, + the following header fields: Tos, TotalLen, Id, Fragment, Ttl, Protocol, Src and Dst. All the fields are in host byte order. This function will fill in the Ver, HeadLen, and checksum. @@ -45,10 +45,10 @@ UINT16 mIp4Id; **/ EFI_STATUS Ip4PrependHead ( - IN NET_BUF *Packet, - IN IP4_HEAD *Head, - IN UINT8 *Option, - IN UINT32 OptLen + IN OUT NET_BUF *Packet, + IN IP4_HEAD *Head, + IN UINT8 *Option, + IN UINT32 OptLen ) { UINT32 HeadLen; @@ -65,7 +65,7 @@ Ip4PrependHead ( Ip4CopyOption (Option, OptLen, FirstFragment, NULL, &Len); HeadLen = IP4_MIN_HEADLEN + Len; - ASSERT (((Len %4) == 0) && (HeadLen <= IP4_MAX_HEADLEN)); + ASSERT (((Len % 4) == 0) && (HeadLen <= IP4_MAX_HEADLEN)); PacketHead = (IP4_HEAD *) NetbufAllocSpace (Packet, HeadLen, NET_BUF_HEAD); @@ -106,7 +106,7 @@ Ip4PrependHead ( @param Src The source of the packet @return NULL if no proper interface is found, otherwise the interface that - @return can be used to send the system packet from. + can be used to send the system packet from. **/ IP4_INTERFACE * @@ -197,7 +197,7 @@ Ip4SysPacketSent ( NULL if the packet is from the system. @param Packet The user data to send, excluding the IP header. @param Head The caller supplied header. The caller should set - the following header fields: Tos, TotalLen, Id, tl, + the following header fields: Tos, TotalLen, Id, tl, Fragment, Protocol, Src and Dst. All the fields are in host byte order. This function will fill in the Ver, HeadLen, Fragment, and checksum. The Fragment @@ -269,8 +269,8 @@ Ip4Output ( if (IP4_IS_BROADCAST (Ip4GetNetCast (Dest, IpIf)) || (Dest == IP4_ALLONE_ADDRESS)) { // // Set the gateway to local broadcast if the Dest is - // is the broadcast address for the connected network - // or it is local broadcast. + // the broadcast address for the connected network or + // it is local broadcast. // GateWay = IP4_ALLONE_ADDRESS; @@ -423,8 +423,8 @@ ON_ERROR: **/ BOOLEAN Ip4CancelPacketFragments ( - IP4_LINK_TX_TOKEN *Frame, - VOID *Context + IN IP4_LINK_TX_TOKEN *Frame, + IN VOID *Context ) { if ((Frame->Packet == (NET_BUF *) Context) || (Frame->Context == Context)) { diff --git a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Route.c b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Route.c index bed4fde058..5bec33e598 100644 --- a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Route.c +++ b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Route.c @@ -31,7 +31,7 @@ Abstract: @param GateWay The nexthop address @return NULL if failed to allocate memeory, otherwise the newly created - @return route entry. + route entry. **/ IP4_ROUTE_ENTRY * @@ -83,7 +83,7 @@ Ip4FreeRouteEntry ( /** - Allocate and initialize a IP4 route cache entry. + Allocate and initialize an IP4 route cache entry. @param Dst The destination address @param Src The source address @@ -92,7 +92,7 @@ Ip4FreeRouteEntry ( entries spawned from one route table entry. @return NULL if failed to allocate memory for the cache, other point - @return to the created route cache entry. + to the created route cache entry. **/ IP4_ROUTE_CACHE_ENTRY * @@ -154,7 +154,7 @@ Ip4FreeRouteCacheEntry ( **/ VOID Ip4InitRouteCache ( - IN IP4_ROUTE_CACHE *RtCache + IN OUT IP4_ROUTE_CACHE *RtCache ) { UINT32 Index; @@ -199,10 +199,8 @@ Ip4CleanRouteCache ( /** Create an empty route table, includes its internal route cache - None - @return NULL if failed to allocate memory for the route table, otherwise - @return the point to newly created route table. + the point to newly created route table. **/ IP4_ROUTE_TABLE * @@ -291,8 +289,8 @@ Ip4FreeRouteTable ( **/ VOID Ip4PurgeRouteCache ( - IN IP4_ROUTE_CACHE *RtCache, - IN UINTN Tag + IN OUT IP4_ROUTE_CACHE *RtCache, + IN UINTN Tag ) { LIST_ENTRY *Entry; @@ -330,10 +328,10 @@ Ip4PurgeRouteCache ( **/ EFI_STATUS Ip4AddRoute ( - IN IP4_ROUTE_TABLE *RtTable, - IN IP4_ADDR Dest, - IN IP4_ADDR Netmask, - IN IP4_ADDR Gateway + IN OUT IP4_ROUTE_TABLE *RtTable, + IN IP4_ADDR Dest, + IN IP4_ADDR Netmask, + IN IP4_ADDR Gateway ) { LIST_ENTRY *Head; @@ -392,10 +390,10 @@ Ip4AddRoute ( **/ EFI_STATUS Ip4DelRoute ( - IN IP4_ROUTE_TABLE *RtTable, - IN IP4_ADDR Dest, - IN IP4_ADDR Netmask, - IN IP4_ADDR Gateway + IN OUT IP4_ROUTE_TABLE *RtTable, + IN IP4_ADDR Dest, + IN IP4_ADDR Netmask, + IN IP4_ADDR Gateway ) { LIST_ENTRY *Head; @@ -433,7 +431,7 @@ Ip4DelRoute ( @param Src The source address @return NULL if no route entry to the (Dest, Src). Otherwise the point - @return to the correct route cache entry. + to the correct route cache entry. **/ IP4_ROUTE_CACHE_ENTRY * @@ -464,8 +462,8 @@ Ip4FindRouteCache ( /** Search the route table for a most specific match to the Dst. It searches - from the longest route area (mask length == 32) to the shortest route area ( - default routes). In each route area, it will first search the instance's + from the longest route area (mask length == 32) to the shortest route area + (default routes). In each route area, it will first search the instance's route table, then the default route table. This is required by the following requirements: 1. IP search the route table for a most specific match @@ -510,7 +508,7 @@ Ip4FindRouteEntry ( /** - Search the route table to route the packet. Return/creat a route + Search the route table to route the packet. Return/create a route cache if there is a route to the destination. @param RtTable The route table to search from @@ -518,7 +516,7 @@ Ip4FindRouteEntry ( @param Src The source address to search for @return NULL if failed to route packet, otherwise a route cache - @return entry that can be used to route packet. + entry that can be used to route packet. **/ IP4_ROUTE_CACHE_ENTRY * @@ -562,9 +560,9 @@ Ip4Route ( // // Found a route to the Dest, if it is a direct route, the packet - // will be send directly to the destination, such as for connected + // will be sent directly to the destination, such as for connected // network. Otherwise, it is an indirect route, the packet will be - // send the next hop router. + // sent to the next hop router. // if ((RtEntry->Flag & IP4_DIRECT_ROUTE) != 0) { NextHop = Dest; diff --git a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Route.h b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Route.h index f2173071a5..bc396f94b4 100644 --- a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Route.h +++ b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Route.h @@ -35,13 +35,13 @@ typedef enum { #define IP4_ROUTE_CACHE_HASH(Dst, Src) (((Dst) ^ (Src)) % IP4_ROUTE_CACHE_HASH) -// -// The route entry in the route table. Dest/Netmask is the destion -// network. The nexthop is the gateway to send the packet to in -// order to reach the Dest/Netmask. If the Flag has IP4_DIRECT_ROUTE -// on, the gateway is the destination of the IP packet itself. Route -// enties of the connected network have the flag on. -// +/// +/// The route entry in the route table. Dest/Netmask is the destion +/// network. The nexthop is the gateway to send the packet to in +/// order to reach the Dest/Netmask. If the Flag has IP4_DIRECT_ROUTE +/// on, the gateway is the destination of the IP packet itself. Route +/// enties of the connected network have the flag on. +/// typedef struct { LIST_ENTRY Link; INTN RefCnt; @@ -51,16 +51,16 @@ typedef struct { UINT32 Flag; } IP4_ROUTE_ENTRY; -// -// The route cache entry. The route cache entry is optional. -// But it is necessary to support the ICMP redirect message. -// Check Ip4ProcessIcmpRedirect for information. -// -// The cache entry field Tag is used to tag all the route -// cache entry spawned from a route table entry. This makes -// it simple to delete all the route cache entries from a -// to-be-deleted route entry. -// +/// +/// The route cache entry. The route cache entry is optional. +/// But it is necessary to support the ICMP redirect message. +/// Check Ip4ProcessIcmpRedirect for information. +/// +/// The cache entry field Tag is used to tag all the route +/// cache entry spawned from a route table entry. This makes +/// it simple to delete all the route cache entries from a +/// to-be-deleted route entry. +/// typedef struct { LIST_ENTRY Link; INTN RefCnt; @@ -70,25 +70,25 @@ typedef struct { UINTN Tag; } IP4_ROUTE_CACHE_ENTRY; -// -// The route cache table is organized as a hash table. Each -// IP4 route table has a embedded route cache. For now the -// route cache and route table are binded togehter. But keep -// the route cache a seperated structure in case we want to -// detach them later. -// +/// +/// The route cache table is organized as a hash table. Each +/// IP4 route table has a embedded route cache. For now the +/// route cache and route table are binded togehter. But keep +/// the route cache a seperated structure in case we want to +/// detach them later. +/// typedef struct { LIST_ENTRY CacheBucket[IP4_ROUTE_CACHE_HASH]; } IP4_ROUTE_CACHE; -// -// Each IP4 instance has its own route table. Each ServiceBinding -// instance has a default route table and default address. -// -// All the route table entries with the same mask are linked -// together in one route area. For example, RouteArea[0] contains -// the default routes. A route table also contains a route cache. -// +/// +/// Each IP4 instance has its own route table. Each ServiceBinding +/// instance has a default route table and default address. +/// +/// All the route table entries with the same mask are linked +/// together in one route area. For example, RouteArea[0] contains +/// the default routes. A route table also contains a route cache. +/// typedef struct _IP4_ROUTE_TABLE IP4_ROUTE_TABLE; struct _IP4_ROUTE_TABLE { -- 2.39.2