深入理解linux计数内幕(学习笔记帧传出)
来源:互联网 发布:淘宝上店铺地址定位 编辑:程序博客网 时间:2024/05/21 23:16
要传输帧时,内核会提供dev_queue_xmit函数,此函数会从设备的出口队列中退出一个帧,然后将该帧传递给设备的hard_start_xmit方法,内核还提供了一个类似的但是能处理队列锁的函数__net_schdeule函数,可为设备调度以准备传输。__net_schdeule函数完成的两个主要的任务是:
1、把设备添加到output_queue输出设备列表的头部。
2、为NET_TX_SOFTIRQ软IRQ调度以准备运行。
注意调用dev_queue_xmit函数进行传输时,传输的帧存储在sk_buff中已经是完整的数据帧了,这是由各种协议处理函数处理之后的结果。软中断触发的net_tx_action函数区别于net_rx_action函数的需要将帧传给L2层的协议处理函数,net_tx_action主要的任务是:
1、当设备的传输功能通过netif_wake_queue开启时(例如:当设备有足够的内存时),等待被传送的帧实际上被传送出去。
2、在某种情况下,此函数要收回那些已成功传输的缓冲区的sk_buff结构。
0 0
- 深入理解linux计数内幕(学习笔记帧传出)
- 深入理解Linux网络内幕学习笔记
- 深入理解linux网络技术内幕(学习笔记)
- 《深入理解Linux网络内幕》学习笔记二:网络设备初始化
- 《深入理解Linux网络技术内幕》阅读笔记(一)
- 《深入理解Linux网络技术内幕》阅读笔记(二)
- 《深入理解Linux网络技术内幕》阅读笔记(三)
- 《深入理解Linux网络技术内幕》阅读笔记(四)
- 《深入理解Linux网络技术内幕》阅读笔记(五)
- 《深入理解Linux网络技术内幕》阅读笔记(六)
- 《深入理解Linux网络技术内幕》阅读笔记(七)
- 《深入理解Linux网络技术内幕》阅读笔记(八)
- 《深入理解Linux网络技术内幕》阅读笔记(九)
- 《深入理解Linux网络技术内幕》阅读笔记(十)
- 《深入理解Linux网络技术内幕》阅读笔记(十一)
- 《深入理解Linux网络技术内幕》阅读笔记(十二)
- 《深入理解Linux网络技术内幕》阅读笔记(十三)
- 《深入理解Linux网络技术内幕》阅读笔记(十四)
- 最长回文子串
- LevelDB关键实现图解
- kbengine引擎架构分析
- 迭代器适配器
- 黑马程序员—黑马6期又出了一个面5家拿4家offer的offer哥,给力~~~标题要长~
- 深入理解linux计数内幕(学习笔记帧传出)
- kbengine引擎服务端目录结构分析
- ssh之密钥和算法协商阶段、认证阶段
- leveldb实现原理
- Http和Socket连接区别
- kbengine引擎编译教程
- 生产者消费者问题之子弹上膛问题
- kbengine引擎的安装
- (译)OpenGL ES2.0 – Iphone开发指引(一)