linux 網橋程式碼分析 二 網橋初始化
本節主要分析網橋初始化相關的程式碼
對於網橋初始化所需要做的功能,主要有以下幾項
1、CAM表的初始化
2、註冊網橋相關的網路防火牆鉤子函式
3、向通知連結串列中註冊網橋的回撥函式,處理網橋感興趣的一些事件
4、設定網橋的ioctl,以便處理應用層新增網橋、刪除網橋的需求
5、註冊網橋處理回撥函式,在接收封包處理函式netif_receive_skb中用來處理網橋裝置
而網橋相關的初始化,主要是由函式br_init來完成的。
下面是br_init的程式碼
其完成的功能有:
1、呼叫stp_proto_register進行stp相關的初始化
2、呼叫br_fdb_init進行CAM表的初始化
3、呼叫register_pernet_subsys,為bridge模組註冊網路名稱空間。而br_net_ops的 init函式為NULL,所以呼叫register_pernet_subsys並沒有在/proc目錄下生成任何與bridge相關的目錄,如果我們想在/proc下生成bridge相關的子目錄或子檔案,我們可以自己寫init函式。
關於register_pernet_subsys函式的詳細處理流程可看我以前的文件register_pernet_subsys相關學習
static structpernet_operations br_net_ops = {
.exit = br_net_exit,
};
4、呼叫函式br_netfilter_init,註冊網路防火牆相關的鉤子函式,主要是實現ebtables相關的功能
5、呼叫函式register_netdevice_notifier,向通知鏈中註冊網橋感興趣的資訊。
6、呼叫函式br_netlink_init,進行netlink的初始化
7、呼叫brioctl_set,設定網橋相關的ioctl回撥函式br_ioctl_deviceless_stub,
8、設定br_handle_frame_hook的回撥函式
相關文章
- Linux-網橋原理分析********************Linux
- Linux網橋原始碼框架分析初步(轉)Linux原始碼框架
- Linux 網橋配置命令:brctlLinux
- 利用橋接上網橋接
- 網橋原理及原始碼詳解(轉)原始碼
- centos 7 橋接網路CentOS橋接
- VMware Workstation Linux 安裝及橋接網路Linux橋接
- Linux 最小安裝 + 橋接模式 + 網路配置Linux橋接模式
- 如何在 Ubuntu 上搭建網橋Ubuntu
- 如何在 Ubuntu 上配置網橋Ubuntu
- Linux網路配置:Nat和橋接模式詳解Linux橋接模式
- 無線網橋網路維護知識
- 24藍橋杯-網路安全組
- 如何在 Debian Linux 上設定和配置網橋Linux
- java 橋接模式實現程式碼Java橋接模式
- Openstack的刪除錯誤網橋,虛擬網路除錯
- Centos將網路卡放到橋接組中CentOS橋接
- Linux有問必答:如何顯示Linux網橋的MAC學習表LinuxMac
- linux系統網橋管理工具brctl 安裝及使用Linux
- 為什麼要給網橋分配IP地址
- VitualBox + Centos 6下橋接網路配置CentOS橋接
- 藍橋python——REPEAT 程式Python
- 藍橋杯-數三角(ac程式碼時間複雜度分析)C程式時間複雜度
- Win XP系統中網橋的配置方法(轉)
- 藍橋杯模板(二)python組Python
- 橋接橋接
- 密碼脫落——藍橋杯密碼
- vmware虛擬機器橋接模式無法上網虛擬機橋接模式
- virtualbox 網路設定,橋接、host-ony模式橋接模式
- 設計模式:橋接模式及程式碼示例、橋接模式在jdbc中的體現、注意事項設計模式橋接JDBC
- 兩個路由器如何無線橋接成一個網路 路由器橋接教程詳細路由器橋接
- 藍橋杯練習試題程式碼及講解
- 橋接模式橋接模式
- 望鄉橋
- 關於VMware:“無法將網路更改為橋接狀態:沒有未橋接的主機網路介面卡”的問題橋接
- 設定VMWARE通過橋接方式使用主機無線網路卡上網橋接
- 愛奇藝段有橋:網際網路電視產業的八大趨勢產業
- 將 EMQX Cloud 資料通過公網橋接到 AWS IoTMQCloud橋接