1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-03-07 17:28:15 +00:00

lxc: Introduce lxcNetworkParseDataSuffix

This commit removes the full network entry setting: "lxc.network.X" to
type only. Like "type", "name", "flags", etc. This will handle entries
regardless of whether they are prefixed by "lxc.network." (today) or
"lxc.net.X." (the future).

Signed-off-by: Julio Faracco <jcfaracco@gmail.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
Julio Faracco 2019-02-18 16:09:07 -03:00 committed by John Ferlan
parent 0ebb057a2a
commit f7fd10e5f8

View File

@ -565,7 +565,7 @@ lxcNetworkParseDataIPs(const char *name,
if (VIR_ALLOC(ip) < 0) if (VIR_ALLOC(ip) < 0)
return -1; return -1;
if (STREQ(name, "lxc.network.ipv6")) if (STREQ(name, "ipv6"))
family = AF_INET6; family = AF_INET6;
ipparts = virStringSplit(value->str, "/", 2); ipparts = virStringSplit(value->str, "/", 2);
@ -593,13 +593,13 @@ lxcNetworkParseDataIPs(const char *name,
static int static int
lxcNetworkParseDataEntry(const char *name, lxcNetworkParseDataSuffix(const char *name,
virConfValuePtr value, virConfValuePtr value,
lxcNetworkParseData *parseData) lxcNetworkParseData *parseData)
{ {
int status; int status;
if (STREQ(name, "lxc.network.type")) { if (STREQ(name, "type")) {
virDomainDefPtr def = parseData->def; virDomainDefPtr def = parseData->def;
size_t networks = parseData->networks; size_t networks = parseData->networks;
bool privnet = parseData->privnet; bool privnet = parseData->privnet;
@ -624,36 +624,48 @@ lxcNetworkParseDataEntry(const char *name,
/* Keep the new value */ /* Keep the new value */
parseData->type = value->str; parseData->type = value->str;
} }
else if (STREQ(name, "lxc.network.link")) else if (STREQ(name, "link"))
parseData->link = value->str; parseData->link = value->str;
else if (STREQ(name, "lxc.network.hwaddr")) else if (STREQ(name, "hwaddr"))
parseData->mac = value->str; parseData->mac = value->str;
else if (STREQ(name, "lxc.network.flags")) else if (STREQ(name, "flags"))
parseData->flag = value->str; parseData->flag = value->str;
else if (STREQ(name, "lxc.network.macvlan.mode")) else if (STREQ(name, "macvlan.mode"))
parseData->macvlanmode = value->str; parseData->macvlanmode = value->str;
else if (STREQ(name, "lxc.network.vlan.id")) else if (STREQ(name, "vlan.id"))
parseData->vlanid = value->str; parseData->vlanid = value->str;
else if (STREQ(name, "lxc.network.name")) else if (STREQ(name, "name"))
parseData->name = value->str; parseData->name = value->str;
else if (STREQ(name, "lxc.network.ipv4") || else if (STREQ(name, "ipv4") ||
STREQ(name, "lxc.network.ipv6")) { STREQ(name, "ipv6")) {
if (lxcNetworkParseDataIPs(name, value, parseData) < 0) if (lxcNetworkParseDataIPs(name, value, parseData) < 0)
return -1; return -1;
} else if (STREQ(name, "lxc.network.ipv4.gateway")) { } else if (STREQ(name, "ipv4.gateway")) {
parseData->gateway_ipv4 = value->str; parseData->gateway_ipv4 = value->str;
} else if (STREQ(name, "lxc.network.ipv6.gateway")) { } else if (STREQ(name, "ipv6.gateway")) {
parseData->gateway_ipv6 = value->str; parseData->gateway_ipv6 = value->str;
} else if (STRPREFIX(name, "lxc.network")) { } else {
VIR_WARN("Unhandled network property: %s = %s", VIR_WARN("Unhandled network property: %s = %s",
name, name,
value->str); value->str);
return -1;
} }
return 0; return 0;
} }
static int
lxcNetworkParseDataEntry(const char *name,
virConfValuePtr value,
lxcNetworkParseData *parseData)
{
const char *suffix = STRSKIP(name, "lxc.network.");
return lxcNetworkParseDataSuffix(suffix, value, parseData);
}
static int static int
lxcNetworkWalkCallback(const char *name, virConfValuePtr value, void *data) lxcNetworkWalkCallback(const char *name, virConfValuePtr value, void *data)
{ {