summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau2021-11-19 22:40:41 +0000
committerFelix Fietkau2021-11-19 22:40:41 +0000
commite728a319a9a5ac692d18fef936e6ac4377f1bbf1 (patch)
treed6f17ac68c6cdb5fa964eb40295345db0df0155e
parentb5dec7874373473d2bfdc5e5d4605c6961010a67 (diff)
downloadqosify-e728a319a9a5ac692d18fef936e6ac4377f1bbf1.tar.gz
interface: unify status, always include ifname, ingress, egress
Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r--interface.c33
1 files 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);
}