cloud-setup: count numbers of valid IPv4 addresses in get-config result

Will be used next.

(cherry picked from commit 7969ae1a82)
This commit is contained in:
Thomas Haller 2021-09-01 10:11:31 +02:00
parent e74375fc3b
commit ae504433f1
No known key found for this signature in database
GPG key ID: 29C2366E4DFC5728
2 changed files with 8 additions and 1 deletions

View file

@ -58,17 +58,21 @@ nmcs_provider_get_config_result_new(GHashTable *iface_datas)
NMCSProviderGetConfigResult * result;
GHashTableIter h_iter;
guint num_valid_ifaces = 0;
guint num_ipv4s = 0;
g_hash_table_iter_init(&h_iter, iface_datas);
while (g_hash_table_iter_next(&h_iter, NULL, (gpointer *) &iface_data)) {
if (nmcs_provider_get_config_iface_data_is_valid(iface_data))
if (nmcs_provider_get_config_iface_data_is_valid(iface_data)) {
num_valid_ifaces++;
num_ipv4s += iface_data->ipv4s_len;
}
}
result = g_new(NMCSProviderGetConfigResult, 1);
*result = (NMCSProviderGetConfigResult){
.iface_datas = g_hash_table_ref(iface_datas),
.num_valid_ifaces = num_valid_ifaces,
.num_ipv4s = num_ipv4s,
};
return result;

View file

@ -52,6 +52,9 @@ typedef struct {
/* The number of iface_datas that are nmcs_provider_get_config_iface_data_is_valid(). */
guint num_valid_ifaces;
/* the number of IPv4 addresses over all valid iface_datas. */
guint num_ipv4s;
} NMCSProviderGetConfigResult;
void nmcs_provider_get_config_result_free(NMCSProviderGetConfigResult *result);