2014年3月27日

数据包接收系列 — NAPI的原理和实现

摘要: 本文主要内容:简单分析NAPI的原理和实现。 内核版本:2.6.37 Author:zhangskd @ csdn 概述 NAPI是linux新的网卡数据处理API,据说是由于找不到更好的名字,所以就叫NAPI(New API),在2.5之后引入。 简单来说,NAPI是综合中断方式与轮询... 阅读全文

posted @ 2014-03-27 17:14 张大大123 阅读(577) 评论(0) 推荐(0) 编辑

数据包接收系列 — 下半部实现(软中断)

摘要: 本文主要内容:下半部的实现,分析数据包从上半部结束后到L3的处理过程。 内核版本:2.6.37 Author:zhangskd @ csdn blog 下半部的实现 接收数据包的下半部处理流程为: net_rx_action // 软中断 |--> process_backlog... 阅读全文

posted @ 2014-03-27 17:06 张大大123 阅读(592) 评论(0) 推荐(0) 编辑

数据包接收系列 — 上半部实现(内核接口)

摘要: 本文主要内容:网络数据包接收的上半部实现,主要分析内核接口相关部分。 内核版本:2.6.37 Author:zhangskd @ csdn blog 上半部的实现 接收数据包的上半部处理流程为: el_interrupt() // 网卡驱动 |--> el_receive() /... 阅读全文

posted @ 2014-03-27 16:50 张大大123 阅读(325) 评论(0) 推荐(0) 编辑

数据包接收系列 — 上半部实现(网卡驱动)

摘要: 本文主要内容:网络数据包接收的上半部实现,主要分析网卡驱动相关部分。 内核版本:2.6.37 Author:zhangskd @ csdn blog 网卡概述 (1) 网卡收包 网线上的物理帧首先被网卡芯片获取,网卡芯片会检查物理帧的CRC,保证完整性。 然后网卡芯片将物理帧头去掉,得到... 阅读全文

posted @ 2014-03-27 16:40 张大大123 阅读(360) 评论(0) 推荐(0) 编辑

硬中断和软中断

摘要: 本文主要内容:硬中断 / 软中断的原理和实现 内核版本:2.6.37 Author:zhangskd @ csdn blog 概述 从本质上来讲,中断是一种电信号,当设备有某种事件发生时,它就会产生中断,通过总线把电信号发送给中断控制器。 如果中断的线是激活的,中断控制器就把电信号发送给... 阅读全文

posted @ 2014-03-27 16:21 张大大123 阅读(246) 评论(0) 推荐(0) 编辑

导航