Chinaunix首页 | 论坛 | 博客
  • 博客访问: 112409
  • 博文数量: 24
  • 博客积分: 1335
  • 博客等级: 中尉
  • 技术积分: 415
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-25 10:07
文章分类
文章存档

2011年(22)

2010年(2)

分类: 系统运维

2011-06-30 01:02:49

      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

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