Chinaunix首页 | 论坛 | 博客
  • 博客访问: 114696
  • 博文数量: 37
  • 博客积分: 236
  • 博客等级: 二等列兵
  • 技术积分: 296
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-18 19:35
文章分类
文章存档

2013年(1)

2012年(36)

我的朋友

分类:

2012-03-27 20:26:56

      7)ip_rcvip_rcv_finish:从以太网接收数据,放到skb里,作ip层的一些数据及选项检查,调用ip_route_input()做路由处理,判断是进行ip转发还是将数据传递到高一层的协议.调用skb->dst->input函数指针,这个指针的实现可能有多种情况,如果路由得到的结果说明这个数据包应该转发到其他主机,这里的input便是ip_forward;如果数据包是给本机的,那么input指针初始化为ip_local_deliver函数./net/ipv4/ip_input.c

         8)ip_local_deliverip_local_deliver_finish:入口参数skb存放需要传送到上层协议的数据,ip头中获取是否已经分拆的信息,如果已经分拆,则调用函数ip_defrag将数据包重组。然后通过调用ip_prot->handler指针调用tcp_v4_rcv(tcp)ip_protinet_protocol结构指针,是用来ip层登记协议的,比如由udp,tcp,icmp等协议。 /net/ipv4/ip_input.c

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