OpenWrt的swconfig結構框架

mirkerson發表於2015-07-14

分類: OpenWrt 1175人閱讀 評論(0) 收藏 舉報

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

相關文章