镁橄榄石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()函数,⾥⾯主要做了检查参数,根据传进来的参数操作底层驱动。
http 代理然后看到
- target/linux/generic/files/drivers/net/phy/swconfig.c
-a2冷作模具钢
target/linux/generic/files/include/linux/switch.h
这是内核层的代码,因为交换机芯⽚种类繁多,需要有统⼀接⼝去兼容所有交换机驱动接⼝,swconfig.c就是⼀套定义接⼝。应⽤层的命令⾸先会跳到swconig.c 去选择底层驱动函数。李祥祥 背景
交换机芯⽚驱动位置
- target/linux/generic/files/drivers/net/phy/
交换机是总线设备驱动类型的,在swconfig.c已经注册了交换机设备register_switch,在驱动⾥⾯要注册交换机驱动,然后匹配设备和驱动,调⽤probe.