regist ubus method
首先,netifd初始化时会向ubusd支持一系列的object & method,在netifd_ubus_init中添加object:main_object, dev_object, wireless_object, iface_object;脚本(例如ifup、devstatus等)通过ubus call来执行netifd的method。
main_object
object name为”network”,method列表如下:
name | handler |
---|---|
restart | netifd_handle_restart |
reload | netifd_handle_reload |
add_host_route | netifd_add_host_route |
get_proto_handlers | netifd_get_proto_handlers |
add_dynamic | netifd_add_dynamic |
root@OpenWrt:/# ubus -v list network
'network' @90c358a9
"restart":{}
"reload":{}
"add_host_route":{
"target":"String","v6":"Boolean","interface":"String"}
"get_proto_handlers":{}
"add_dynamic":{
"name":"String"}
dev_object
object name为”network.device”,method列表如下:
name | handler |
---|---|
status | netifd_dev_status |
set_alias | netifd_handle_alias |
set_state | netifd_handle_set_state |
root@OpenWrt:/# ubus -v list network.device
'network.device' @9fa99d73
"status":{
"name":"String"}
"set_alias":{
"alias":"Array","device":"String"}
"set_state":{
"name":"String","defer"