]> xenbits.xensource.com Git - libvirt.git/commitdiff
lxc: Fix wrong addresses statements for IPv{4, 6} in native network definitions
authorJulio Faracco <jcfaracco@gmail.com>
Thu, 6 Feb 2020 04:19:56 +0000 (01:19 -0300)
committerMichal Privoznik <mprivozn@redhat.com>
Thu, 6 Feb 2020 14:00:57 +0000 (15:00 +0100)
After LXC version 3, some settings were changed to new names. Same as
network. LXC introduced network indexes and changed IPv{4,6} addresses
fields. Before, users should only pass `lxc.network.ipv4` to define an
IPv4 address. Now, on version 3, users need to pass
`lxc.net.X.ipv4.address` to specify the same thing. Same for IPv6.

Signed-off-by: Julio Faracco <jcfaracco@gmail.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/lxc/lxc_native.c
src/lxc/lxc_native.h
tests/lxcconf2xmldata/lxcconf2xml-ethernet-v3.config
tests/lxcconf2xmldata/lxcconf2xml-miscnetwork-v3.config
tests/lxcconf2xmldata/lxcconf2xml-physnetwork-v3.config
tests/lxcconf2xmldata/lxcconf2xml-simple-v3.config

index 7e8492a36614515f6441aaab0f1ffe82396d2281..02d2bf33e4d65ded4ae85df09d8b355e5b6d8b7b 100644 (file)
@@ -44,10 +44,12 @@ VIR_ENUM_IMPL(virLXCNetworkConfigEntry,
               "flags",
               "macvlan.mode",
               "vlan.id",
-              "ipv4",
+              "ipv4", /* Legacy: LXC IPv4 address */
               "ipv4.gateway",
-              "ipv6",
-              "ipv6.gateway"
+              "ipv4.address",
+              "ipv6", /* Legacy: LXC IPv6 address */
+              "ipv6.gateway",
+              "ipv6.address"
 );
 
 static virDomainFSDefPtr
@@ -570,7 +572,7 @@ lxcNetworkParseDataIPs(const char *name,
     if (VIR_ALLOC(ip) < 0)
         return -1;
 
-    if (STREQ(name, "ipv6"))
+    if (STREQ(name, "ipv6") || STREQ(name, "ipv6.address"))
         family = AF_INET6;
 
     ipparts = virStringSplit(value->str, "/", 2);
@@ -627,7 +629,9 @@ lxcNetworkParseDataSuffix(const char *entry,
         parseData->name = value->str;
         break;
     case VIR_LXC_NETWORK_CONFIG_IPV4:
+    case VIR_LXC_NETWORK_CONFIG_IPV4_ADDRESS:
     case VIR_LXC_NETWORK_CONFIG_IPV6:
+    case VIR_LXC_NETWORK_CONFIG_IPV6_ADDRESS:
         if (lxcNetworkParseDataIPs(entry, value, parseData) < 0)
             return -1;
         break;
index f16407f2e6482b69c1cdc8c03f14516dfbb96a9c..813272e1299d0e2f71b91a4e57cf9283990581c6 100644 (file)
@@ -35,8 +35,10 @@ typedef enum {
     VIR_LXC_NETWORK_CONFIG_VLAN_ID,
     VIR_LXC_NETWORK_CONFIG_IPV4,
     VIR_LXC_NETWORK_CONFIG_IPV4_GATEWAY,
+    VIR_LXC_NETWORK_CONFIG_IPV4_ADDRESS,
     VIR_LXC_NETWORK_CONFIG_IPV6,
     VIR_LXC_NETWORK_CONFIG_IPV6_GATEWAY,
+    VIR_LXC_NETWORK_CONFIG_IPV6_ADDRESS,
     VIR_LXC_NETWORK_CONFIG_LAST,
 } virLXCNetworkConfigEntry;
 
index 0a641549f3b6440495eb768c783b163f694b257d..f2ca48f1f2211f1eb504571fb1ce538d83e32fbb 100644 (file)
@@ -5,9 +5,9 @@ lxc.net.0.type = veth
 lxc.net.0.flags = up
 lxc.net.0.hwaddr = 02:00:15:8f:05:c1
 lxc.net.0.name = eth0
-lxc.net.0.ipv4 = 192.168.122.2/24
+lxc.net.0.ipv4.address = 192.168.122.2/24
 lxc.net.0.ipv4.gateway = 192.168.122.1
-lxc.net.0.ipv6 = 2003:db8:1:0:214:1234:fe0b:3596/64
+lxc.net.0.ipv6.address = 2003:db8:1:0:214:1234:fe0b:3596/64
 lxc.net.0.ipv6.gateway = 2003:db8:1:0:214:1234:fe0b:3595
 
 #remove next line if host DNS configuration should not be available to container
index 537da64592c84561664d5638c35ffbb33290e336..6bc22b8e46b8560c879ae74c4d5ad528c3efe84f 100644 (file)
@@ -1,9 +1,9 @@
 lxc.net.0.type = phys
 lxc.net.0.link = eth0
 lxc.net.0.name = eth1
-lxc.net.0.ipv4 = 192.168.122.2/24
+lxc.net.0.ipv4.address = 192.168.122.2/24
 lxc.net.0.ipv4.gateway = 192.168.122.1
-lxc.net.0.ipv6 = 2003:db8:1:0:214:1234:fe0b:3596/64
+lxc.net.0.ipv6.address = 2003:db8:1:0:214:1234:fe0b:3596/64
 lxc.net.0.ipv6.gateway = 2003:db8:1:0:214:1234:fe0b:3595
 
 lxc.net.1.type = vlan
index 9cf96163b32d0bb7446b8f0fc0c8c65c6194bfc8..649b73c8b843c759fe2629998b473cebf759fdbd 100644 (file)
@@ -1,9 +1,9 @@
 lxc.net.0.type = phys
 lxc.net.0.link = eth0
 lxc.net.0.name = eth1
-lxc.net.0.ipv4 = 192.168.122.2/24
+lxc.net.0.ipv4.address = 192.168.122.2/24
 lxc.net.0.ipv4.gateway = 192.168.122.1
-lxc.net.0.ipv6 = 2003:db8:1:0:214:1234:fe0b:3596/64
+lxc.net.0.ipv6.address = 2003:db8:1:0:214:1234:fe0b:3596/64
 lxc.net.0.ipv6.gateway = 2003:db8:1:0:214:1234:fe0b:3595
 
 lxc.rootfs.path = /var/lib/lxc/migrate_test/rootfs
index b0656571b2ce7219940a129350db63e2788e1681..ecd71044f91378ad795384e45cd5fa4764fc41e4 100644 (file)
@@ -6,9 +6,9 @@ lxc.net.0.flags = up
 lxc.net.0.link = virbr0
 lxc.net.0.hwaddr = 02:00:15:8f:05:c1
 lxc.net.0.name = eth0
-lxc.net.0.ipv4 = 192.168.122.2/24
+lxc.net.0.ipv4.address = 192.168.122.2/24
 lxc.net.0.ipv4.gateway = 192.168.122.1
-lxc.net.0.ipv6 = 2003:db8:1:0:214:1234:fe0b:3596/64
+lxc.net.0.ipv6.address = 2003:db8:1:0:214:1234:fe0b:3596/64
 lxc.net.0.ipv6.gateway = 2003:db8:1:0:214:1234:fe0b:3595
 
 #remove next line if host DNS configuration should not be available to container