Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3474197
  • 博文数量: 1805
  • 博客积分: 135
  • 博客等级: 入伍新兵
  • 技术积分: 3345
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-19 20:01
文章分类

全部博文(1805)

文章存档

2017年(19)

2016年(80)

2015年(341)

2014年(438)

2013年(349)

2012年(332)

2011年(248)

分类:

2012-11-16 13:37:46

对于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 */
}

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