介紹一下數據包的具體傳送過程,包括如何從一個app程序,傳送到對端的app上。深入挖掘數據包的生命週期
編譯Linux內核
單獨編譯一個子模塊,如USB:
make modules SUBDIRS=linux-source-xxx/drivers/usb/
make modules_install SUBDIRS=linux-source-xxx/drivers/usb/
安裝:make modules_install
,不能是make modules install
參考資料:
https://blog.csdn.net/u011456940/article/details/51152727?utm_source=blogxgwz7
https://www.cs.dartmouth.edu/~sergey/netreads/path-of-packet/Network_stack.pdf
https://www.linuxjournal.com/content/queueing-linux-network-stack
https://www.coverfire.com/articles/queueing-in-the-linux-network-stack/
ethtool源碼
dev_queue_xmi函數詳解
Linux網絡之設備接口層:發送數據包流程dev_queue_xmit
Queueing in the Linux Network Stack
ixgbe網卡驅動(一)
網絡子系統在鏈路層的收發過程剖析
Linux 2.4.x 網絡協議棧QoS模塊(TC)的設計與實現
二層報文發送之qdisc實現分析
網絡子系統在鏈路層的收發過程剖析.pdf
TC(Traffic Control)框架原理解析
Linux ECMP
Linux源碼索引
Linux內核源碼閱讀
數據包發送流程圖
數據包接收流程圖
源路由
掛載鉤子函數
DPDK數據轉發
DPDK坑