網路裝置名稱的自動選擇

2021-08-22 03:10:48 字數 838 閱讀 5733

網絡卡驅動在向核心註冊網路裝置時,可傳入帶有格式引數的網絡卡名,如eth%d,交由核心自動選擇網絡卡名稱。

struct net_device *alloc_etherdev_mqs(int sizeof_priv, unsigned int txqs, unsigned int rxqs)

在alloc_netdev呼叫之後,net_device結構體中的name成員為(eth%d)。之後的裝置註冊函式register_netdevice在註冊過程中,使用函式dev_get_valid_name分配完整的裝置名稱。

int register_netdevice(struct net_device *dev)

核心最終呼叫__dev_alloc_name確定裝置的名稱。核心可支援的裝置數量最大為8*page_size,即乙個頁面的大小的位元數量(通常為8*4k=32k個裝置總是)。每一位代表乙個裝置。當前需要做的就是,在net命名空間中,遍歷所有的裝置名稱,將其索引值在乙個空白頁面中的應用位置置位。遍歷完成之後,只需要在頁面中查詢第乙個未置位的位,作為新裝置的索引值。將其替換name格式字串中的%d,賦值於buf儲存新的裝置名稱。

static int __dev_alloc_name(struct net *net, const char *name, char *buf)

i = find_first_zero_bit(inuse, max_netdevices);

snprintf(buf, ifnamsiz, name, i);

}

核心版本

linux-4.15

VOIP網路裝置

voip 系統的基本元件 終端 閘道器 關守 網管伺服器 記帳伺服器等,下面介紹一下各個元件的功能 1 終端 terminal voip的終端可以有多種型別,其中包括傳統的語音 isdn終端 pc,也可以是集語音 資料和圖象於一體的多 業務終端。由於不同種類的終端產生的資料來源結構是不同的,要在同乙...

連線網路裝置

雙機網際網路絡 集線器網際網路絡 交換機網際網路絡 路由器網際網路絡 雙機網際網路絡 計算機與計算機連線 如果只有兩台計算機進行互連,也可以使用雙絞線將兩台計算機的網絡卡連線在一起,但是必須使用交叉線方法製作的網線,才能正常連線。雙絞線的連線標準 eia tia對雙絞線的連線制定了標準,使用資料通訊...

常用網路裝置

中繼器 1 工作在網路第一層,主要作用是延長物理介質的傳輸距離或者轉換物理傳輸介質。2 目前再傳輸速度要求的主幹線大都使用光纖作為傳輸介質。網橋 1 工作在網路第二層,主要作用是轉換不同網路型別的資料幀,用來分隔網段或者連線部分異種網路。2透明網橋之間看起來像乙個網段。3多口網橋就是交換機。4擴充套...