OpenWrt的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

你可能感兴趣的:(OpenWrt的swconfig结构框架)