From e728a319a9a5ac692d18fef936e6ac4377f1bbf1 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Fri, 19 Nov 2021 23:40:41 +0100 Subject: [PATCH] interface: unify status, always include ifname, ingress, egress Signed-off-by: Felix Fietkau --- interface.c | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/interface.c b/interface.c index 3f3bd30..4e3497d 100644 --- a/interface.c +++ b/interface.c @@ -518,27 +518,34 @@ void qosify_iface_check(void) uloop_timeout_set(&timer, 10); } +static void +__qosify_iface_status(struct blob_buf *b, struct qosify_iface *iface) +{ + void *c; + + c = blobmsg_open_table(b, qosify_iface_name(iface)); + blobmsg_add_u8(b, "active", iface->active); + if (iface->ifname) + blobmsg_add_string(b, "ifname", iface->ifname); + blobmsg_add_u8(b, "egress", iface->config.egress); + blobmsg_add_u8(b, "ingress", iface->config.ingress); + blobmsg_close_table(b, c); + +} + void qosify_iface_status(struct blob_buf *b) { struct qosify_iface *iface; - void *c, *i; + void *c; c = blobmsg_open_table(b, "devices"); - vlist_for_each_element(&devices, iface, node) { - i = blobmsg_open_table(b, qosify_iface_name(iface)); - blobmsg_add_u8(b, "active", iface->active); - blobmsg_close_table(b, i); - } + vlist_for_each_element(&devices, iface, node) + __qosify_iface_status(b, iface); blobmsg_close_table(b, c); c = blobmsg_open_table(b, "interfaces"); - vlist_for_each_element(&interfaces, iface, node) { - i = blobmsg_open_table(b, qosify_iface_name(iface)); - blobmsg_add_u8(b, "active", iface->active); - if (iface->ifname) - blobmsg_add_string(b, "ifname", iface->ifname); - blobmsg_close_table(b, i); - } + vlist_for_each_element(&interfaces, iface, node) + __qosify_iface_status(b, iface); blobmsg_close_table(b, c); } -- 2.30.2