diff options
Diffstat (limited to 'nuttx/net/uip')
-rw-r--r-- | nuttx/net/uip/uip_initialize.c | 8 | ||||
-rw-r--r-- | nuttx/net/uip/uip_input.c | 10 | ||||
-rw-r--r-- | nuttx/net/uip/uip_internal.h | 4 |
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); |