2010 03 24 網路驅動

2022-08-31 06:33:12 字數 823 閱讀 9950

最近幾天都在看關於網路驅動方面的東西,今天繼續看,順便記錄下來。

每乙個介面由乙個net_device結構體來描述。裡面定義。

分配函式為:struct net_device *alloc_netdev(int sizeof_priv,const char *name,void (*setup)(struct net_device*));其中,sizeof_priv是乙個裝置的私有資料區間長度,name就是乙個裝置的名字,setup是乙個函式指標,指向的是初始化函式的位址。

在setup函式裡面,一般都要對net_device進行初始化操作。net_device這個結構體裡面有很多函式,這些函式分別被賦給net_device裡面的函式指標,在到達某種情況的時候觸發。這些函式主要包括hard_start_xmit,這個是傳送函式,do_ioctl,這個是給裝置傳送命令的函式,get_stats是返回狀態的函式。主要是通過對hard_start_xmit函式的編寫來達到傳送包的目的。

其次是int register_netdev(struct net_device* dev),是註冊函式,在初始化結束之後進行操作。與此相對的,如果在結束的時候,就應該呼叫unregister_netdev(struct net_device* dev)來登出原來註冊的裝置。

明天先看看上次的那個gnu make,然後看看驅動編寫的那本書,然後在看看今天看到的那個人的**,今天這個人的**好像只包含了一種協議,所以比周學長的**要短,但是他也考慮了很多種情況,所以總的來說還是很多的,明天好好看看他寫的傳送函式,如果有精力可以深入去看看這個傳送函式呼叫的函式,看看底層是怎麼處理的。

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 第二部分...

Linux 網絡卡驅動學習(二)(網路驅動介面小結)

摘要 前文我們分析了乙個虛擬硬體的網路驅動例子,從中我們看到了網路裝置的一些介面,其實網路裝置驅動和塊裝置驅動的功能比較類似,都是傳送和接收資料報 資料請求 當然它們實際是有很多不同的。首先塊裝置在 dev目錄下有裝置節點,而網路裝置沒有這樣的裝置入口。read,write等常規的檔案介面在網路裝置...

20155232《網路對抗》Exp7 網路欺詐防範

本實踐的目標理解常用網路欺詐背後的原理,以提高防範意識,並提出具體防範方法。具體實踐有 1 簡單應用set工具建立冒名 1分 2 ettercap dns spoof 1分 3 結合應用兩種技術,用dns spoof引導特定訪問到冒名 1.5分 netstat tupln grep 80指令檢視80...