Adds the following to Network Object: - <metadata>, <title> and <description> to the Network Schema, along with appropriate XML parse methods. - Get and Set APIs to access or modify the above. - An async callback that notifies of metadata changes. Resolves (GSoC 2023): https://wiki.libvirt.org/Google_Summer_of_Code_Ideas.html Signed-off-by: K Shiva <shiva_kr@xxxxxxxxxx> K Shiva (8): Parser and Schema definitions Metadata change APIs and related enums Added Metadata change events virsh: Added Methods to print metadata changes Methods to relay metadata change callbacks Test driver implementations Error code and message for NO_NETWORK_METADATA Test program for network metadata include/libvirt/libvirt-domain.h | 2 +- include/libvirt/libvirt-network.h | 51 ++++ include/libvirt/virterror.h | 2 + po/POTFILES | 1 + src/conf/network_conf.c | 3 + src/conf/network_conf.h | 2 + src/conf/network_event.c | 115 +++++++++ src/conf/network_event.h | 11 + src/conf/virnetworkobj.c | 347 ++++++++++++++++++++++++++-- src/conf/virnetworkobj.h | 56 +++++ src/driver-network.h | 16 ++ src/libvirt-network.c | 167 +++++++++++++ src/libvirt_public.syms | 6 + src/remote/remote_daemon_dispatch.c | 39 ++++ src/remote/remote_driver.c | 32 +++ src/remote/remote_protocol.x | 15 +- src/remote_protocol-structs | 6 + src/test/test_driver.c | 74 ++++++ src/util/virerror.c | 3 + tests/meson.build | 1 + tests/networkmetadatatest.c | 297 ++++++++++++++++++++++++ tools/virsh-network.c | 78 ++++++- 22 files changed, 1299 insertions(+), 25 deletions(-) create mode 100644 tests/networkmetadatatest.c -- This is a v3 of: https://listman.redhat.com/archives/libvir-list/2023-June/240444.html Diff to v2: Formatted patch into a smaller set of series. 2.41.0