]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
conf: make teaming info an official type
authorLaine Stump <laine@redhat.com>
Thu, 11 Feb 2021 01:08:29 +0000 (20:08 -0500)
committerLaine Stump <laine@redhat.com>
Thu, 11 Feb 2021 21:31:51 +0000 (16:31 -0500)
This struct was previously defined only within virDomainNetDef where
it was used, but I need to also use it in virDomainHostdevDef, so move
the internal struct out to its own "official" struct and give it the
standard typedef duo and *Free() function.

Signed-off-by: Laine Stump <laine@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/conf/domain_conf.c
src/conf/domain_conf.h
src/conf/virconftypes.h
src/libvirt_private.syms

index 8f2207bdf6749f5fbda076176bdd6352bce3b0df..7d7acb940a07afe44d94bee5843d456bc6ca9753 100644 (file)
@@ -2476,6 +2476,17 @@ virDomainVsockDefFree(virDomainVsockDefPtr vsock)
 }
 
 
+void
+virDomainNetTeamingInfoFree(virDomainNetTeamingInfoPtr teaming)
+{
+    if (!teaming)
+        return;
+
+    g_free(teaming->persistent);
+    g_free(teaming);
+}
+
+
 void
 virDomainNetDefFree(virDomainNetDefPtr def)
 {
index 8b1c8643be2945579a6679c9da8d269968e78310..92fe588b3f5f38b91a55a31b276054bcc4b6854f 100644 (file)
@@ -956,6 +956,11 @@ typedef enum {
     VIR_DOMAIN_NET_TEAMING_TYPE_LAST
 } virDomainNetTeamingType;
 
+struct _virDomainNetTeamingInfo {
+        virDomainNetTeamingType type;
+        char *persistent; /* alias name of persistent device */
+};
+
 /* link interface states */
 typedef enum {
         VIR_DOMAIN_NET_INTERFACE_LINK_STATE_DEFAULT = 0, /* Default link state (up) */
@@ -1033,10 +1038,7 @@ struct _virDomainNetDef {
         char *tap;
         char *vhost;
     } backend;
-    struct {
-        virDomainNetTeamingType type;
-        char *persistent; /* alias name of persistent device */
-    } teaming;
+    virDomainNetTeamingInfo teaming;
     union {
         virDomainChrSourceDefPtr vhostuser;
         struct {
@@ -3100,6 +3102,8 @@ void virDomainActualNetDefFree(virDomainActualNetDefPtr def);
 virDomainVsockDefPtr virDomainVsockDefNew(virDomainXMLOptionPtr xmlopt);
 void virDomainVsockDefFree(virDomainVsockDefPtr vsock);
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(virDomainVsockDef, virDomainVsockDefFree);
+void virDomainNetTeamingInfoFree(virDomainNetTeamingInfoPtr teaming);
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(virDomainNetTeamingInfo, virDomainNetTeamingInfoFree);
 void virDomainNetDefFree(virDomainNetDefPtr def);
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(virDomainNetDef, virDomainNetDefFree);
 void virDomainSmartcardDefFree(virDomainSmartcardDefPtr def);
index 9042a2b34fb169267413b46ecd0775f99d714505..c51241cfa5676e6040658732557dbabba3cd72fd 100644 (file)
@@ -246,6 +246,9 @@ typedef virDomainNVRAMDef *virDomainNVRAMDefPtr;
 typedef struct _virDomainNetDef virDomainNetDef;
 typedef virDomainNetDef *virDomainNetDefPtr;
 
+typedef struct _virDomainNetTeamingInfo virDomainNetTeamingInfo;
+typedef virDomainNetTeamingInfo *virDomainNetTeamingInfoPtr;
+
 typedef struct _virDomainOSDef virDomainOSDef;
 typedef virDomainOSDef *virDomainOSDefPtr;
 
index dcc613ca255b7f881f39d9a4e66450ebc1f0062c..49e665a5f0012dba9a1fe94761c976fe915e6440 100644 (file)
@@ -537,6 +537,7 @@ virDomainNetRemove;
 virDomainNetRemoveHostdev;
 virDomainNetResolveActualType;
 virDomainNetSetModelString;
+virDomainNetTeamingInfoFree;
 virDomainNetTypeFromString;
 virDomainNetTypeSharesHostView;
 virDomainNetTypeToString;