From: Michael Tremer Date: Fri, 9 Jun 2023 14:19:04 +0000 (+0000) Subject: ports: Add link stuff to JSON output X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=69467266f8b3d8a925604b3ffdeda060c5d409cd;p=network.git ports: Add link stuff to JSON output Signed-off-by: Michael Tremer --- diff --git a/src/networkd/link.c b/src/networkd/link.c index 603aabe8..60abd466 100644 --- a/src/networkd/link.c +++ b/src/networkd/link.c @@ -27,6 +27,7 @@ #include #include "daemon.h" +#include "json.h" #include "link.h" #include "links.h" #include "logging.h" @@ -529,3 +530,16 @@ ERROR: return r; } + +// JSON + +int nw_link_to_json(nw_link* link, struct json_object* o) { + int r; + + // Add ifindex + r = json_object_add_int64(o, "LinkIndex", link->ifindex); + if (r < 0) + return r; + + return 0; +} diff --git a/src/networkd/link.h b/src/networkd/link.h index 2bab47c5..36c7d9dd 100644 --- a/src/networkd/link.h +++ b/src/networkd/link.h @@ -26,6 +26,7 @@ typedef struct nw_link nw_link; #include "daemon.h" +#include "json.h" int nw_link_create(nw_link** link, nw_daemon* daemon, int ifindex); @@ -45,4 +46,7 @@ int nw_link_process(sd_netlink* rtnl, sd_netlink_message* message, void* data); int nw_link_destroy(nw_link* link); +// JSON +int nw_link_to_json(nw_link* link, struct json_object* o); + #endif /* NETWORKD_LINK_H */ diff --git a/src/networkd/port.c b/src/networkd/port.c index fb625207..84fceee8 100644 --- a/src/networkd/port.c +++ b/src/networkd/port.c @@ -682,6 +682,13 @@ int nw_port_to_json(nw_port* port, struct json_object** object) { goto ERROR; } + // Add link stuff + if (port->link) { + r = nw_link_to_json(port->link, o); + if (r < 0) + goto ERROR; + } + // Call custom stuff if (NW_PORT_TYPE(port)->to_json) { r = NW_PORT_TYPE(port)->to_json(port, o);