学习DPDK框架时,自然而然想去了解Linux内核收发包原理,于是发现了如下文章,其中《Monitoring and Tuning the Linux Networking Stack: Receiving Data》尤其不错 :-)
NAPI原理相关:
数据包接收系列 — NAPI的原理和实现
http://blog.csdn.net/zhangskd/article/details/21627963
NAPI 技术在 Linux 网络驱动上的应用和完善
https://www.ibm.com/developerworks/cn/linux/l-napi/
Linux内核报文收发原理:
数据包接收系列 — 上半部实现(网卡驱动)
http://blog.csdn.net/zhangskd/article/details/22079509
数据包接收系列 — 上半部实现(内核接口)
http://blog.csdn.net/zhangskd/article/details/22211295
数据包接收系列 — 下半部实现(软中断)
http://blog.csdn.net/zhangskd/article/details/21469399
详解Linux中断处理中的hardirq与softirq机制
http://blog.chinaunix.net/uid-23769728-id-3079164.html
Monitoring and Tuning the Linux Networking Stack: Receiving Data
http://blog.packagecloud.io/eng/2016/06/22/monitoring-tuning-linux-networking-stack-receiving-data/#detailed-look
Understanding TCP/IP Network Stack & Writing Network Apps
http://www.cubrid.org/blog/dev-platform/understanding-tcp-ip-network-stack/
其它:
Linux 上的基础网络设备详解
https://www.ibm.com/developerworks/cn/linux/1310_xiawc_networkdevice/