Fix Device.Bridge.Bridge.{i}.STP.Status get

This commit is contained in:
Vivek Kumar Dutta 2023-07-06 10:10:02 +00:00
parent 93a7049287
commit 4d13d1ed53
2 changed files with 11 additions and 6 deletions

View file

@ -187,7 +187,8 @@ static void bbfdm_event_handler(struct ubus_context *ctx, struct ubus_event_hand
blobmsg_add_string(&b, "name", dm_path);
generate_blob_input(&bb, type, &pv_list);
blobmsg_add_field(&b, BLOBMSG_TYPE_TABLE, "input", blob_data(bb.head), blob_len(bb.head));
ubus_send_event(ctx, BBF_EVENT, b.head);
ubus_send_event(ctx, method_name, b.head);
DEBUG("Event[%s], for [%s] sent", method_name, dm_path);
blob_buf_free(&bb);
blob_buf_free(&b);

View file

@ -1748,13 +1748,17 @@ static int get_BridgingBridgeSTP_Status(char *refparam, struct dmctx *ctx, void
{
char *name = NULL;
*value = "Disabled";
dmuci_get_value_by_section_string(((struct bridge_args *)data)->bridge_sec, "name", &name);
get_net_device_status(name, value);
if (DM_STRCMP(*value, "Up") == 0) {
*value = "Enabled";
} else {
*value = "Disabled";
if (DM_STRLEN(name) == 0) {
return 0;
}
char *enable = NULL;
get_net_device_sysfs(name, "bridge/stp_state", &enable);
if (DM_STRCMP(enable, "1") == 0)
*value = "Enabled";
return 0;
}