swconfig結構框架

OpenWrt的swconfig結構框架

swconfig命令模式
swconfig dev <dev> [port <port>|vlan <vlan>|csmap <index>] (help|set <key> <value>|get <key>|load <config>|show)
swconfig 結構框架是應用層與內核驅動通信的一種框架,主要實通過應用層命令去配置交換機芯片的底層驅動,應用層與內核層採用netlink通信機制.
首先看到
 - package/network/config/swconfig/cli.c文件,跳到main()函數,裏面主要做了檢查參數,根據傳進來的參數操作底層驅動。
然後看到
 - target/linux/generic/files/drivers/net/phy/swconfig.c
 - target/linux/generic/files/include/linux/switch.h
這是內核層的代碼,因爲交換機芯片種類繁多,需要有統一接口去兼容所有交換機驅動接口,swconfig.c就是一套定義接口。應用層的命令首先會跳到swconig.c去選擇底層驅動函數。
交換機芯片驅動位置
 - target/linux/generic/files/drivers/net/phy/

交換機是總線設備驅動類型的,在swconfig.c已經註冊了交換機設備register_switch,在驅動裏面要註冊交換機驅動,然後匹配設備和驅動,調用probe.

OpenWRT swconfig wiki:http://wiki.openwrt.org/doc/techref/swconfig

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章