Skip to content

Commit df5f70b

Browse files
committed
ubus: notify on network updates
Signed-off-by: Felix Fietkau <[email protected]>
1 parent dcf1362 commit df5f70b

File tree

3 files changed

+12
-0
lines changed

3 files changed

+12
-0
lines changed

network.c

+1
Original file line numberDiff line numberDiff line change
@@ -424,6 +424,7 @@ static void network_reload(struct uloop_timeout *t)
424424
unetd_write_hosts();
425425
network_do_update(net, true);
426426
network_pex_open(net);
427+
unetd_ubus_notify(net);
427428
}
428429

429430
void network_soft_reload(struct network *net)

ubus.c

+7
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,13 @@ ubus_connect_handler(struct ubus_context *ctx)
295295
fprintf(stderr, "Failed to add object: %s\n", ubus_strerror(ret));
296296
}
297297

298+
void unetd_ubus_notify(struct network *net)
299+
{
300+
blob_buf_init(&b, 0);
301+
blobmsg_add_string(&b, "network", network_name(net));
302+
ubus_notify(&conn.ctx, &unetd_object, "network_update", b.head, -1);
303+
}
304+
298305
void unetd_ubus_netifd_update(struct blob_attr *data)
299306
{
300307
uint32_t id;

ubus.h

+4
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,16 @@
77

88
#ifdef UBUS_SUPPORT
99
void unetd_ubus_init(void);
10+
void unetd_ubus_notify(struct network *net);
1011
void unetd_ubus_netifd_update(struct blob_attr *data);
1112
void unetd_ubus_netifd_add_route(struct network *net, union network_endpoint *ep);
1213
#else
1314
static inline void unetd_ubus_init(void)
1415
{
1516
}
17+
static inline void unetd_ubus_notify(struct network *net)
18+
{
19+
}
1620
static inline void unetd_ubus_netifd_update(struct blob_attr *data)
1721
{
1822
}

0 commit comments

Comments
 (0)