Files at this revision

API Documentation at this revision

Comitter:
Benoit
Date:
Sun Jun 26 09:56:31 2011 +0000
Parent:
6:7f7f29fde21c
Commit message:
Added IPv4 global broadcast address to processed frames inside IPv4 layer.

Changed in this revision

IPv4.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r 7f7f29fde21c -r 8e12f7357b9f IPv4.cpp
--- a/IPv4.cpp	Mon Jun 13 15:40:56 2011 +0000
+++ b/IPv4.cpp	Sun Jun 26 09:56:31 2011 +0000
@@ -20,7 +20,7 @@
 #define    DEBUG_CURRENT_MODULE_ID        DEBUG_MODULE_IPV4
 
 
-static void 	Init(void);
+static void     Init(void);
 static int32_t  RegisterProtocol(Protocol_Handler_t *protocolHandler);
 static void     Handler(NetIF_t *netIF, NetPacket_t *packet);
 
@@ -83,30 +83,32 @@
 
 static void Handler(NetIF_t *netIF, NetPacket_t *packet)
 {
-    int32_t   			protocolIndex,
-    	        		payloadOffset;
-    Protocol_Number_t	protocolNumber;
-	Protocol_Handler_t	*protocolHandler;
-    IPv4_Header_t		*ipv4Packet;
-	
-	
-	ipv4Packet = (IPv4_Header_t *)packet->data;
+    int32_t               protocolIndex,
+                        payloadOffset;
+    Protocol_Number_t    protocolNumber;
+    Protocol_Handler_t    *protocolHandler;
+    IPv4_Header_t        *ipv4Packet;
+    
+    
+    ipv4Packet = (IPv4_Header_t *)packet->data;
     protocolNumber = ipv4Packet->protocol;
     payloadOffset = ipv4Packet->ihl << 2;
     
     
-    if ((ipv4Packet->dest.addr == netIF->ipv4Address.addr) || (ipv4Packet->dest.addr == netIF->ipv4Broadcast.addr))
+    if (	(ipv4Packet->dest.addr == netIF->ipv4Address.addr) 		|| 
+			(ipv4Packet->dest.addr == netIF->ipv4Broadcast.addr)	||
+			(ipv4Packet->dest.addr == ipv4_Addr_Broadcast.addr)			)
     {
-	    for (protocolIndex = 0; protocolIndex < protocolHandlerCount; protocolIndex++)
-	    {
-	        protocolHandler = protocolHandlerTable[protocolIndex];
-	        if (protocolHandler->protocolNumber == protocolNumber)
-	        {
-				NetIF_ProtoPush(packet, payloadOffset, Protocol_ID_IPv4);
-	            protocolHandler->HandlePacket(netIF, packet);
-	            break;
-	        }
-	    }
+        for (protocolIndex = 0; protocolIndex < protocolHandlerCount; protocolIndex++)
+        {
+            protocolHandler = protocolHandlerTable[protocolIndex];
+            if (protocolHandler->protocolNumber == protocolNumber)
+            {
+                NetIF_ProtoPush(packet, payloadOffset, Protocol_ID_IPv4);
+                protocolHandler->HandlePacket(netIF, packet);
+                break;
+            }
+        }
     }
         
     return;