diff --git a/Platform/user/configm/config-server/include/netconfig.h b/Platform/user/configm/config-server/include/netconfig.h index a7ea8ce78..727779e88 100644 --- a/Platform/user/configm/config-server/include/netconfig.h +++ b/Platform/user/configm/config-server/include/netconfig.h @@ -7,6 +7,6 @@ ret_code if_ioctl(unsigned long request, caddr_t ifreq, int *ret); ret_code if_set_up(char *ifname, int *code); ret_code if_set_down(char *ifname, int *code); -int net_main(); +ret_code net_main(); #endif diff --git a/Platform/user/configm/config-server/netconfig/bridge/brconfig.c b/Platform/user/configm/config-server/netconfig/bridge/brconfig.c index a26ff4ec1..e08d5e05f 100644 --- a/Platform/user/configm/config-server/netconfig/bridge/brconfig.c +++ b/Platform/user/configm/config-server/netconfig/bridge/brconfig.c @@ -329,7 +329,9 @@ ret_code br_bridge_add(char *br_name, int *sys_err) { return RET_SYSERR; } - + + if_set_up(br_name, sys_err); + br_invoke_event(BR_CREATE_EVENT, event_arg); br_save_file(BR_CREATE_EVENT, br_name, NULL); @@ -344,6 +346,8 @@ ret_code br_bridge_del(char * br_name, int *sys_err) br_invoke_event(BR_DELETE_EVENT_PRE, event_arg); + if_set_down(br_name, sys_err); + sys_ret = br_del_bridge(br_name); *sys_err = sys_ret; diff --git a/Platform/user/configm/config-server/netconfig/netmain.c b/Platform/user/configm/config-server/netconfig/netmain.c index 88cd44c8a..5d989c5a8 100644 --- a/Platform/user/configm/config-server/netconfig/netmain.c +++ b/Platform/user/configm/config-server/netconfig/netmain.c @@ -2,7 +2,7 @@ #include "netconfig.h" -int net_main() +ret_code net_main() { br_bridge_init(); }