
On 7/11/23 08:47, K Shiva Kiran wrote:
This patch introduces public Get and Set APIs for modifying <title>, <description> and <metadata> elements of the Network object.
- Added enum to select one of the above elements to operate on. - Added error code and messages for missing metadata. - Added public API implementation. - Added driver support. - Defined wire protocol format.
Signed-off-by: K Shiva Kiran <shiva_kr@riseup.net> --- include/libvirt/libvirt-network.h | 29 ++++++ include/libvirt/virterror.h | 1 + src/driver-network.h | 16 +++ src/libvirt-network.c | 167 ++++++++++++++++++++++++++++++ src/libvirt_public.syms | 6 ++ src/remote/remote_driver.c | 2 + src/remote/remote_protocol.x | 36 ++++++- src/remote_protocol-structs | 19 ++++ src/util/virerror.c | 3 + 9 files changed, 278 insertions(+), 1 deletion(-)
We usually introduce public APIs in one patch and implement remote driver in another. But I guess I can live with this.
diff --git a/src/remote_protocol-structs b/src/remote_protocol-structs index 3c6c230a16..14898a0bc7 100644 --- a/src/remote_protocol-structs +++ b/src/remote_protocol-structs @@ -3130,6 +3130,23 @@ struct remote_network_port_delete_args { remote_nonnull_network_port port; u_int flags; }; +struct remote_network_set_metadata_args { + remote_nonnull_network network; + int type; + remote_string metadata; + remote_string key; + remote_string uri; + u_int flags; +}; +struct remote_network_get_metadata_args { + remote_nonnull_network network; + int type; + remote_string uri; + u_int flags; +}; +struct remote_network_get_metadata_ret { + remote_nonnull_string metadata; +};
This is misplaced.
struct remote_domain_checkpoint_create_xml_args { remote_nonnull_domain dom; remote_nonnull_string xml_desc; @@ -3717,4 +3734,6 @@ enum remote_procedure { REMOTE_PROC_DOMAIN_RESTORE_PARAMS = 441, REMOTE_PROC_DOMAIN_ABORT_JOB_FLAGS = 442, REMOTE_PROC_DOMAIN_FD_ASSOCIATE = 443, + REMOTE_PROC_NETWORK_SET_METADATA = 444, + REMOTE_PROC_NETWORK_GET_METADATA = 445
Here we want the trailing comma.
};
Squash in the following: diff --git a/src/remote_protocol-structs b/src/remote_protocol-structs index 14898a0bc7..c07e0af1e6 100644 --- a/src/remote_protocol-structs +++ b/src/remote_protocol-structs @@ -2687,6 +2687,23 @@ struct remote_network_event_lifecycle_msg { int event; int detail; }; +struct remote_network_set_metadata_args { + remote_nonnull_network network; + int type; + remote_string metadata; + remote_string key; + remote_string uri; + u_int flags; +}; +struct remote_network_get_metadata_args { + remote_nonnull_network network; + int type; + remote_string uri; + u_int flags; +}; +struct remote_network_get_metadata_ret { + remote_nonnull_string metadata; +}; struct remote_connect_storage_pool_event_register_any_args { int eventID; remote_storage_pool pool; @@ -3130,23 +3147,6 @@ struct remote_network_port_delete_args { remote_nonnull_network_port port; u_int flags; }; -struct remote_network_set_metadata_args { - remote_nonnull_network network; - int type; - remote_string metadata; - remote_string key; - remote_string uri; - u_int flags; -}; -struct remote_network_get_metadata_args { - remote_nonnull_network network; - int type; - remote_string uri; - u_int flags; -}; -struct remote_network_get_metadata_ret { - remote_nonnull_string metadata; -}; struct remote_domain_checkpoint_create_xml_args { remote_nonnull_domain dom; remote_nonnull_string xml_desc; @@ -3735,5 +3735,5 @@ enum remote_procedure { REMOTE_PROC_DOMAIN_ABORT_JOB_FLAGS = 442, REMOTE_PROC_DOMAIN_FD_ASSOCIATE = 443, REMOTE_PROC_NETWORK_SET_METADATA = 444, - REMOTE_PROC_NETWORK_GET_METADATA = 445 + REMOTE_PROC_NETWORK_GET_METADATA = 445, }; Michal