内核阅读之浅析Linux2.6.34内核桥接数据转发(二)
来源:互联网 发布:大数据舆情开源 编辑:程序博客网 时间:2024/06/04 11:01
按照内核阅读之浅析Linux2.6.34内核桥接数据转发(一)中的总体框架,依次浅析各个主要关键函数,看看里面具体实现了什么。
首先是int netif_receive_skb()函数,所有从硬件那边上来的数据包都首先要经过这个函数,当然也有例外,目前绝大多数网络芯片厂商都会有硬件加速模块,纯CPU已经无法迎合市场需求了。但是不管怎么说,任何网络数据的第一个包都是要经过netif_receive_skb()函数的。
该函数在Linux2.6.34\net\core\Dev.c
netif_receive_skb()是介于L2和L3之间的函数,将网卡驱动读取到的数据进行接收,并且分发给需要此数据包的协议。主要是遍历两条链表、桥接数据转发和MACVLAN数据组播转发,这里我主要关心的是桥接数据转发过程。数据包是由handle_bridge()函数来引入桥接控制的。而上面遍历的两条链表,这某些应用场景还是大有作为的。
本人初涉Linux内核网络数据模块部分,以上内容如有错误之处,欢迎指正学习。 0 0
- 内核阅读之浅析Linux2.6.34内核桥接数据转发(二)
- 内核阅读笔记之浅析Linux2.6.34内核桥接数据转发(一)
- 内核阅读之浅析Linux2.6.34内核桥接数据转发(三)
- 内核阅读之浅析Linux2.6.34内核路由数据转发(二)
- 内核阅读之浅析Linux2.6.34内核路由数据转发(一)
- ARM-Linux内核移植之(二)——Linux2.6.22内核移植 .
- 【Linux2.6内核模块编程实例指导】内核模块编程之入门(二)必备知识
- ARM-Linux内核移植之(二)——Linux2.6.22内核移植
- 【内核】linux2.6版本内核编译配置选项(二)
- FL2440移植linux2.6.33内核(备忘)(之二)
- ARM-Linux移植之(二)——Linux2.6.22内核移植
- 内核管理设备(顺序阅读二)
- 内核源码阅读(二)进程复制
- Linux2.6.36内核分析之CONFIG_SCHEDSTATS
- Linux内核Makefile浅析(二)
- linux内核数据包转发流程(二):中断
- 【Linux2.6内核模块编程实例指导】内核模块编程之入门(一)话说模块
- debian6编译内核(linux2.6.34)步骤(适合初学者)
- Android官方文档阅读之旅——Application Fundamentals
- [C] 老鼠走迷宫(使用回圈+堆叠)
- 程序结构&&程序设计
- 使用Source Insight查看Android Framework 源码
- Temp
- 内核阅读之浅析Linux2.6.34内核桥接数据转发(二)
- poj3279 kuangbin带你飞 搜索 Fliptile
- POJ 1195 Mobile phones 【二维树状数组】
- 2015年Java代码之01
- 随意细解:UI --UITableView编辑
- shell脚本打印日志方法
- hadoop2.6.2启动 发现DataNode没有启动启来
- 递归排序
- awk学习