1. 程式人生 > >《linux驅動開發-第11部分-5.11.網路裝置驅動介紹》

《linux驅動開發-第11部分-5.11.網路裝置驅動介紹》

《linux驅動開發-第11部分-5.11.網路裝置驅動介紹》

第一部分、章節目錄
5.11.1.網路裝置驅動概述
5.11.2.虛擬網絡卡驅動分析1
5.11.3.虛擬網絡卡驅動分析2
5.11.4.DM9000驅動原始碼分析1
5.11.5.DM9000驅動原始碼分析2

第二部分、章節介紹
5.11.1.網路裝置驅動概述
本節對網路裝置驅動做個概要描述,主要是講了這種驅動模型和字元裝置塊裝置的區別,最後講了下本部分的學習方法。
5.11.2.虛擬網絡卡驅動分析1
本節來分析一個簡化編寫的虛擬網絡卡的驅動原始碼,主要目的是對網路裝置驅動的框架進行理解和分析。
5.11.3.虛擬網絡卡驅動分析2
本節來分析一個簡化編寫的虛擬網絡卡的驅動原始碼,主要目的是對網路裝置驅動的框架進行理解和分析。
5.11.4.DM9000驅動原始碼分析1
本節來分析DM9000這個真實硬體網絡卡的驅動原始碼,並沒有詳細分析硬體操作,主要是驗證網路裝置驅動框架,並且將之前課程中學到的一些技巧運用進來。
5.11.5.DM9000驅動原始碼分析2
本節來分析DM9000這個真實硬體網絡卡的驅動原始碼,並沒有詳細分析硬體操作,主要是驗證網路裝置驅動框架,並且將之前課程中學到的一些技巧運用進來。

第三部分、隨堂記錄
5.11.1.網路裝置驅動概述
5.11.1.1、什麼是網路裝置
(1)網路裝置
(2)物理網絡卡: 真正的硬體網絡卡裝置
5.11.1.2、網路裝置介面
(1)/dev下沒有裝置檔案,也不通過/sys下的屬性檔案訪問。直觀看來,應用層都是通過一些特殊的命令(如ifconfig、ping等)來訪問網絡卡硬體(呼叫驅動)的。本質上應用呼叫驅動的方法可以通過分析ping、ifconfig等命令的實現來得知。實際就是通過:socket、bind、listen、connect、send、recv等API來實現的。
(2)網路裝置被抽象成一個能夠傳送和接收資料包的“網路介面”
(3)struct net_device來管理所有網路介面
5.11.1.3、學習方法
(1)注意網路裝置的訪問方法和前兩種不同
(2)2個數據結構(net_device和sk_buff)
(3)一個虛擬網絡卡案例程式碼分析 + DM9000驅動原始碼分析

5.11.2.虛擬網絡卡驅動分析1
5.11.2.1、虛擬網絡卡安裝、解除安裝、開啟、關閉、設定IP地址等實踐
5.11.2.2、程式碼分析

5.11.3.虛擬網絡卡驅動分析2

5.11.4.DM9000驅動原始碼分析1

5.11.5.DM9000驅動原始碼分析2