On 6/26/23 15:55, K Shiva wrote:
> 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@riseup.net>
>
> 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
>
What I didn't mention in my previous replies was: make sure that code
compiles and tests pass after each individual commit.
I believe reading the following article might be helpful:
https://libvirt.org/api_extension.html
Splitting a patch into smaller ones doesn't mean placing first N hunks
into one patch, next M into the other patch. A patch is (ideally) one
semantic change. We do see huge patches, occasionally, on the list too,
e.g.:
https://listman.redhat.com/archives/libvir-list/2023-March/238421.html
but those are one semantic change.
Michal