Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15531155
  • 博文数量: 2005
  • 博客积分: 11986
  • 博客等级: 上将
  • 技术积分: 22535
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-17 13:56
文章分类

全部博文(2005)

文章存档

2014年(2)

2013年(2)

2012年(16)

2011年(66)

2010年(368)

2009年(743)

2008年(491)

2007年(317)

分类: 嵌入式

2009-10-20 12:50:54

对于udp数据的接收位于
tcpip_init
==> lwip_init       // 初始化lwip用到的所有结构,变量等[luther.gliethttp]
==> tcpip_thread    // 创建网络数据处理线程,用来处理如下几个ip报头中包含的协议
==*> ip_input ==> udp_input(p, inp);    // udp报文
==*> ip_input ==> tcp_input(p, inp);    // tcp报文
==*> ip_input ==> icmp_input(p, inp);   //icmp报文
==*> ip_input ==> igmp_input(p,inp,&(iphdr->dest)); // igmp报文

tcpip_init
==> lwip_init
==*> sys_init
/**
 * Perform Sanity check of user-configurable values, and initialize all modules.
 */
void
lwip_init(void)
{
  /* Sanity check user-configurable values */
  lwip_sanity_check();

  /* Modules initialization */
  stats_init();
  sys_init();
  mem_init();
  memp_init();
  pbuf_init();
  netif_init();
#if LWIP_SOCKET
  lwip_socket_init();
#endif /* LWIP_SOCKET */
  ip_init();
#if LWIP_ARP
  etharp_init();
#endif /* LWIP_ARP */
#if LWIP_RAW
  raw_init();
#endif /* LWIP_RAW */
#if LWIP_UDP
  udp_init();
#endif /* LWIP_UDP */
#if LWIP_TCP
  tcp_init();
#endif /* LWIP_TCP */
#if LWIP_SNMP
  snmp_init();
#endif /* LWIP_SNMP */
#if LWIP_AUTOIP
  autoip_init();
#endif /* LWIP_AUTOIP */
#if LWIP_IGMP
  igmp_init();
#endif /* LWIP_IGMP */
#if LWIP_DNS
  dns_init();
#endif /* LWIP_DNS */
}

阅读(7198) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~