MOD aaa-12 桥接口自测问题解决
SOL 桥接口自测问题解决 修改人:zhangliang 检视人:zhangliang
This commit is contained in:
parent
b201b3d7d6
commit
521782246c
|
@ -92,22 +92,22 @@
|
|||
NULL \
|
||||
},\
|
||||
{\
|
||||
BRIF_CONFIG, \
|
||||
CONFIG_FROM_WEB|CONFIG_FROM_NETOPEER, \
|
||||
FALSE, \
|
||||
br_if_config_chk, \
|
||||
br_if_config_proc, \
|
||||
br_if_config_get, \
|
||||
br_if_config_get_all \
|
||||
BRIF_CONFIG, \
|
||||
CONFIG_FROM_WEB|CONFIG_FROM_NETOPEER, \
|
||||
FALSE, \
|
||||
br_if_config_chk, \
|
||||
br_if_config_proc, \
|
||||
br_if_config_get, \
|
||||
br_if_config_get_all \
|
||||
},\
|
||||
{\
|
||||
BRFDB_CONFIG, \
|
||||
CONFIG_FROM_WEB|CONFIG_FROM_NETOPEER, \
|
||||
FALSE, \
|
||||
br_fdb_config_chk, \
|
||||
NULL, \
|
||||
br_fdb_config_get, \
|
||||
NULL \
|
||||
BRFDB_CONFIG, \
|
||||
CONFIG_FROM_WEB|CONFIG_FROM_NETOPEER, \
|
||||
FALSE, \
|
||||
br_fdb_config_chk, \
|
||||
NULL, \
|
||||
br_fdb_config_get, \
|
||||
NULL \
|
||||
},\
|
||||
{\
|
||||
USER_MANAGER_CONFIG_GROUP, \
|
||||
|
|
|
@ -201,19 +201,28 @@ ret_code br_save_file(BR_EVENT_TYPE event_type,
|
|||
if_conf_file_del(br_name);
|
||||
break;
|
||||
case BR_IF_JOIN_EVENT:
|
||||
if(if_conf_file_get(br_name, key_str, config_str) == RET_OK)
|
||||
if(if_conf_file_get(br_name, key_str, config_str) == RET_OK
|
||||
&& (strlen(config_str) != 0))
|
||||
{
|
||||
if(strstr(config_str, port_name) != NULL)
|
||||
{
|
||||
return RET_OK;
|
||||
}
|
||||
del_sub_string(config_str, "\n");
|
||||
strcat(config_str, " ");
|
||||
strcat(config_str, port_name);
|
||||
strcat(config_str, "\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
snprintf(config_str, IF_BUFF_LEN - 1, "%s %s\n", key_str, port_name);
|
||||
}
|
||||
|
||||
if_conf_file_set(br_name, key_str, config_str);
|
||||
break;
|
||||
case BR_IF_LEAVE_EVENT:
|
||||
if(if_conf_file_get(br_name, key_str, config_str) == RET_OK)
|
||||
if(if_conf_file_get(br_name, key_str, config_str) == RET_OK
|
||||
&& (strlen(config_str) != 0))
|
||||
{
|
||||
if(strstr(config_str, port_name) != NULL)
|
||||
{
|
||||
|
@ -913,10 +922,7 @@ ret_code br_fdb_config_json_parse(pointer input, uint *conf_type, br_fdb_config_
|
|||
int port_num = 0;
|
||||
|
||||
json_obj = cJSON_Parse(input);
|
||||
if(!json_obj)
|
||||
{
|
||||
return RET_INPUTERR;
|
||||
}
|
||||
ASSERT_PTR(json_obj, RET_NULLP);
|
||||
|
||||
rpc_log_info("json input:\n %s\n", cJSON_Print(json_obj));
|
||||
|
||||
|
@ -928,6 +934,7 @@ ret_code br_fdb_config_json_parse(pointer input, uint *conf_type, br_fdb_config_
|
|||
return RET_NOMEM;
|
||||
}
|
||||
|
||||
s2j_struct_get_basic_element(br_fdb_conf, json_obj, int, config_type);
|
||||
s2j_struct_get_string_element(br_fdb_conf, json_obj, br_name, BR_NAMSIZ);
|
||||
|
||||
*conf_type = br_fdb_conf->config_type;
|
||||
|
|
|
@ -247,7 +247,7 @@ int get_br_from_port(char *port_name , char *br_name)
|
|||
}
|
||||
|
||||
if(br_fd <0){
|
||||
printf("netlink_socket failed\n");
|
||||
rpc_log_error("netlink_socket failed\n");
|
||||
return RET_SYSERR;
|
||||
}
|
||||
|
||||
|
@ -258,26 +258,26 @@ int get_br_from_port(char *port_name , char *br_name)
|
|||
struct ifinfomsg *ifi = NLMSG_DATA(&answer.n);
|
||||
struct rtattr *tb[IFLA_MAX+1];
|
||||
|
||||
printf("struct ifinfomsg: ifi_family=%u,ifi_index=%d\n",
|
||||
rpc_log_info("struct ifinfomsg: ifi_family=%u,ifi_index=%d\n",
|
||||
ifi->ifi_family,ifi->ifi_index);
|
||||
|
||||
|
||||
int len = answer.n.nlmsg_len - NLMSG_LENGTH(sizeof (struct ifinfomsg));
|
||||
parse_rtattr(tb, IFLA_MAX, IFLA_RTA(ifi), len);
|
||||
|
||||
printf("enum : IFLA_IFNAME=%s,IFLA_MTU=%d,IFLA_TXQLEN=%d\n",
|
||||
rpc_log_info("enum : IFLA_IFNAME=%s,IFLA_MTU=%d,IFLA_TXQLEN=%d\n",
|
||||
(char *)RTA_DATA(tb[IFLA_IFNAME]),
|
||||
*(int *)RTA_DATA(tb[IFLA_MTU]),
|
||||
*(int *)RTA_DATA(tb[IFLA_TXQLEN]));
|
||||
|
||||
printf("if_nametoindex:%d\n",if_nametoindex((char *)RTA_DATA(tb[IFLA_IFNAME])));
|
||||
rpc_log_info("if_nametoindex:%d\n",if_nametoindex((char *)RTA_DATA(tb[IFLA_IFNAME])));
|
||||
|
||||
if (tb[IFLA_MASTER]) {
|
||||
int master = rta_getattr_u32(tb[IFLA_MASTER]);
|
||||
char if_name[INTERFACE_NAMSIZ] = {0};
|
||||
|
||||
if_indextoname(master, if_name);
|
||||
printf("master:%s\n", if_name);
|
||||
rpc_log_info("master:%s\n", if_name);
|
||||
|
||||
if(br_get_bridge_info(if_name, NULL) == 0)
|
||||
{
|
||||
|
|
|
@ -249,10 +249,18 @@ next_while:
|
|||
|
||||
fclose(f);
|
||||
|
||||
/* 整个配置块都没有,则新创建该配置块 */
|
||||
if( next_flag == FALSE )
|
||||
{
|
||||
return RET_NOTFOUND;
|
||||
/* 整个配置块都没有 */
|
||||
if(start_line == NULL)
|
||||
{
|
||||
return RET_NOTFOUND;
|
||||
}
|
||||
|
||||
if(config_line == NULL)
|
||||
{
|
||||
strcat(sum_buf, conf_buff);
|
||||
}
|
||||
}
|
||||
|
||||
remove(conf_path);
|
||||
|
@ -545,7 +553,7 @@ next_while:
|
|||
if( next_flag == FALSE )
|
||||
{
|
||||
strcat(sum_buf, conf_buff);
|
||||
strcat(sum_buf, "\n\n");
|
||||
strcat(sum_buf, "\n");
|
||||
remove(conf_path);
|
||||
|
||||
return conf_file_write(conf_path, sum_buf);
|
||||
|
@ -690,7 +698,6 @@ ret_code if_conf_file_exist(char *if_name, char *conf_buff)
|
|||
return conf_value_in_block_exist(IFCONFIG_PATH, auto_str);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
*添加修改文件(当配置文件中存在标记字段,则进行修改,若不存在则进行添加)
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue