]> xenbits.xensource.com Git - libvirt.git/commitdiff
lxc: Introduce lxcNetworkParseDataEntry
authorJulio Faracco <jcfaracco@gmail.com>
Mon, 18 Feb 2019 19:09:06 +0000 (16:09 -0300)
committerJohn Ferlan <jferlan@redhat.com>
Mon, 25 Feb 2019 15:41:39 +0000 (10:41 -0500)
Refactor lxcNetworkWalkCallback to be a simple method to handle
both possible network settings with indexes or the simple one. It is
better the decouple the whole algorithm to parse data to only parse
which entry type libvirt is handling.

The new method is responsible to verify is the settings correspond to
network entry. Right now, it is only verifying "lxc.network.", but in
the future, it can be used to verify "lxc.net.X." too. Any other case
would be rejected.

On the other hand, the idea here is working only with types. If we know
that entry is part of network settings, after we just need to know which
type is. It keeps the handler simple.

Signed-off-by: Julio Faracco <jcfaracco@gmail.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
src/lxc/lxc_native.c

index b1d2b19b15c4454c81ba5fc5d0f15b51dbe609ee..22b083cc0e924016d9a4cec31e7b592da5144fb3 100644 (file)
@@ -593,9 +593,10 @@ lxcNetworkParseDataIPs(const char *name,
 
 
 static int
-lxcNetworkWalkCallback(const char *name, virConfValuePtr value, void *data)
+lxcNetworkParseDataEntry(const char *name,
+                         virConfValuePtr value,
+                         lxcNetworkParseData *parseData)
 {
-    lxcNetworkParseData *parseData = data;
     int status;
 
     if (STREQ(name, "lxc.network.type")) {
@@ -652,6 +653,18 @@ lxcNetworkWalkCallback(const char *name, virConfValuePtr value, void *data)
     return 0;
 }
 
+
+static int
+lxcNetworkWalkCallback(const char *name, virConfValuePtr value, void *data)
+{
+    lxcNetworkParseData *parseData = data;
+
+    if (STRPREFIX(name, "lxc.network."))
+        return lxcNetworkParseDataEntry(name, value, parseData);
+
+    return 0;
+}
+
 static int
 lxcConvertNetworkSettings(virDomainDefPtr def, virConfPtr properties)
 {