Network: All logic will now handle varialbe length link layer protocol headers within incoming packets. This permits use of multiple network interfaces with differing data links. For example, ETHERNET + SLIP

This commit is contained in:
Gregory Nutt
2014-11-15 13:13:23 -06:00
parent 5d05b00fda
commit 2e55db369d
28 changed files with 144 additions and 90 deletions
+2 -2
View File
@@ -62,7 +62,7 @@
* Pre-processor Definitions
****************************************************************************/
#define IGMPBUF ((struct igmp_iphdr_s *)&dev->d_buf[NET_LL_HDRLEN])
#define IGMPBUF ((struct igmp_iphdr_s *)&dev->d_buf[NET_LL_HDRLEN(dev)])
/****************************************************************************
* Private Functions
@@ -125,7 +125,7 @@ void igmp_input(struct net_driver_s *dev)
/* Verify the message length */
if (dev->d_len < NET_LL_HDRLEN+IPIGMP_HDRLEN)
if (dev->d_len < NET_LL_HDRLEN(dev) + IPIGMP_HDRLEN)
{
IGMP_STATINCR(g_netstats.igmp.length_errors);
nlldbg("Length error\n");