summaryrefslogtreecommitdiff
path: root/nuttx/net
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-07-08 00:59:51 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-07-08 00:59:51 +0000
commita840b46208077e92bfeb30147aedc49d9c04aa8e (patch)
treec9bd9fda4b5432a681cbe6c2545fe446eee031e4 /nuttx/net
parentd5135803d4021ef6fb2d69394cd28fdd665a8bca (diff)
downloadpx4-nuttx-a840b46208077e92bfeb30147aedc49d9c04aa8e.tar.gz
px4-nuttx-a840b46208077e92bfeb30147aedc49d9c04aa8e.tar.bz2
px4-nuttx-a840b46208077e92bfeb30147aedc49d9c04aa8e.zip
More IGMP changes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2777 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/net')
-rw-r--r--nuttx/net/uip/uip_initialize.c8
-rw-r--r--nuttx/net/uip/uip_input.c10
-rw-r--r--nuttx/net/uip/uip_internal.h4
3 files changed, 21 insertions, 1 deletions
diff --git a/nuttx/net/uip/uip_initialize.c b/nuttx/net/uip/uip_initialize.c
index 867e7d66a..8c05765bc 100644
--- a/nuttx/net/uip/uip_initialize.c
+++ b/nuttx/net/uip/uip_initialize.c
@@ -1,7 +1,7 @@
/****************************************************************************
* net/uip/uip_initialize.c
*
- * Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2007-2010 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Adapted for NuttX from logic in uIP which also has a BSD-like license:
@@ -140,6 +140,12 @@ void uip_initialize(void)
#ifdef CONFIG_NET_UDP
uip_udpinit();
#endif
+
+ /* Initialize IGMP support */
+
+#ifdef CONFIG_NET_IGMP
+ uip_udpinit();
+#endif
}
#endif /* CONFIG_NET */
diff --git a/nuttx/net/uip/uip_input.c b/nuttx/net/uip/uip_input.c
index 893fa3b0a..6a8963f38 100644
--- a/nuttx/net/uip/uip_input.c
+++ b/nuttx/net/uip/uip_input.c
@@ -510,6 +510,16 @@ void uip_input(struct uip_driver_s *dev)
break;
#endif
+ /* Check for ICMP input */
+
+#ifdef CONFIG_NET_IGMP
+#ifndef CONFIG_NET_IPv6
+ case UIP_PROTO_IGMP: /* IGMP input */
+ uip_igmpinput(dev);
+ break;
+#endif
+#endif
+
default: /* Unrecognized/unsupported protocol */
#ifdef CONFIG_NET_STATISTICS
uip_stat.ip.drop++;
diff --git a/nuttx/net/uip/uip_internal.h b/nuttx/net/uip/uip_internal.h
index 487563c81..990a08e6f 100644
--- a/nuttx/net/uip/uip_internal.h
+++ b/nuttx/net/uip/uip_internal.h
@@ -210,6 +210,10 @@ EXTERN void uip_icmpsend(struct uip_driver_s *dev, uip_ipaddr_t *destaddr);
#endif /* CONFIG_NET_ICMP */
#ifdef CONFIG_NET_IGMP
+/* Defined in uip_igmpinit.c ************************************************/
+
+EXTERN void uip_igmpinit(void);
+
/* Defined in uip_igmpinput.c ***********************************************/
EXTERN void uip_igmpinput(struct uip_driver_s *dev);