From a840b46208077e92bfeb30147aedc49d9c04aa8e Mon Sep 17 00:00:00 2001 From: patacongo Date: Thu, 8 Jul 2010 00:59:51 +0000 Subject: More IGMP changes git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2777 42af7a65-404d-4744-a932-0658087f49c3 --- nuttx/net/uip/uip_initialize.c | 8 +++++++- nuttx/net/uip/uip_input.c | 10 ++++++++++ nuttx/net/uip/uip_internal.h | 4 ++++ 3 files changed, 21 insertions(+), 1 deletion(-) (limited to 'nuttx/net') 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 * * 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); -- cgit v1.2.3