Chinaunix首页 | 论坛 | 博客
  • 博客访问: 85770
  • 博文数量: 27
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 66
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-21 14:41
文章分类
文章存档

2014年(1)

2013年(20)

2012年(6)

我的朋友

分类:

2012-12-07 19:08:49

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

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