mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
lxc: Converting 'if, else' logic into a 'switch, case'
The structure used to handle network entries was based on 'if,else' conditions. This commit converts this ugly structure into a switch to clearify each option of the handler. Signed-off-by: Julio Faracco <jcfaracco@gmail.com> Reviewed-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
parent
087a7c9a88
commit
ac62e297db
@ -35,6 +35,20 @@
|
|||||||
|
|
||||||
VIR_LOG_INIT("lxc.lxc_native");
|
VIR_LOG_INIT("lxc.lxc_native");
|
||||||
|
|
||||||
|
VIR_ENUM_IMPL(virLXCNetworkConfigEntry, VIR_LXC_NETWORK_CONFIG_LAST,
|
||||||
|
"name",
|
||||||
|
"type",
|
||||||
|
"link",
|
||||||
|
"hwaddr",
|
||||||
|
"flags",
|
||||||
|
"macvlan.mode",
|
||||||
|
"vlan.id",
|
||||||
|
"ipv4",
|
||||||
|
"ipv4.gateway",
|
||||||
|
"ipv6",
|
||||||
|
"ipv6.gateway"
|
||||||
|
);
|
||||||
|
|
||||||
static virDomainFSDefPtr
|
static virDomainFSDefPtr
|
||||||
lxcCreateFSDef(int type,
|
lxcCreateFSDef(int type,
|
||||||
const char *src,
|
const char *src,
|
||||||
@ -626,37 +640,49 @@ lxcNetworkParseDataIPs(const char *name,
|
|||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
lxcNetworkParseDataSuffix(const char *name,
|
lxcNetworkParseDataSuffix(const char *entry,
|
||||||
virConfValuePtr value,
|
virConfValuePtr value,
|
||||||
lxcNetworkParseData *parseData)
|
lxcNetworkParseData *parseData)
|
||||||
{
|
{
|
||||||
if (STREQ(name, "type")) {
|
int elem = virLXCNetworkConfigEntryTypeFromString(entry);
|
||||||
|
|
||||||
|
switch (elem) {
|
||||||
|
case VIR_LXC_NETWORK_CONFIG_TYPE:
|
||||||
if (lxcNetworkParseDataType(value, parseData) < 0)
|
if (lxcNetworkParseDataType(value, parseData) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
break;
|
||||||
else if (STREQ(name, "link"))
|
case VIR_LXC_NETWORK_CONFIG_LINK:
|
||||||
parseData->link = value->str;
|
parseData->link = value->str;
|
||||||
else if (STREQ(name, "hwaddr"))
|
break;
|
||||||
|
case VIR_LXC_NETWORK_CONFIG_HWADDR:
|
||||||
parseData->mac = value->str;
|
parseData->mac = value->str;
|
||||||
else if (STREQ(name, "flags"))
|
break;
|
||||||
|
case VIR_LXC_NETWORK_CONFIG_FLAGS:
|
||||||
parseData->flag = value->str;
|
parseData->flag = value->str;
|
||||||
else if (STREQ(name, "macvlan.mode"))
|
break;
|
||||||
|
case VIR_LXC_NETWORK_CONFIG_MACVLAN_MODE:
|
||||||
parseData->macvlanmode = value->str;
|
parseData->macvlanmode = value->str;
|
||||||
else if (STREQ(name, "vlan.id"))
|
break;
|
||||||
|
case VIR_LXC_NETWORK_CONFIG_VLAN_ID:
|
||||||
parseData->vlanid = value->str;
|
parseData->vlanid = value->str;
|
||||||
else if (STREQ(name, "name"))
|
break;
|
||||||
|
case VIR_LXC_NETWORK_CONFIG_NAME:
|
||||||
parseData->name = value->str;
|
parseData->name = value->str;
|
||||||
else if (STREQ(name, "ipv4") ||
|
break;
|
||||||
STREQ(name, "ipv6")) {
|
case VIR_LXC_NETWORK_CONFIG_IPV4:
|
||||||
if (lxcNetworkParseDataIPs(name, value, parseData) < 0)
|
case VIR_LXC_NETWORK_CONFIG_IPV6:
|
||||||
|
if (lxcNetworkParseDataIPs(entry, value, parseData) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
} else if (STREQ(name, "ipv4.gateway")) {
|
break;
|
||||||
|
case VIR_LXC_NETWORK_CONFIG_IPV4_GATEWAY:
|
||||||
parseData->gateway_ipv4 = value->str;
|
parseData->gateway_ipv4 = value->str;
|
||||||
} else if (STREQ(name, "ipv6.gateway")) {
|
break;
|
||||||
|
case VIR_LXC_NETWORK_CONFIG_IPV6_GATEWAY:
|
||||||
parseData->gateway_ipv6 = value->str;
|
parseData->gateway_ipv6 = value->str;
|
||||||
} else {
|
break;
|
||||||
|
default:
|
||||||
VIR_WARN("Unhandled network property: %s = %s",
|
VIR_WARN("Unhandled network property: %s = %s",
|
||||||
name,
|
entry,
|
||||||
value->str);
|
value->str);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,23 @@
|
|||||||
|
|
||||||
# define LXC_CONFIG_FORMAT "lxc-tools"
|
# define LXC_CONFIG_FORMAT "lxc-tools"
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
VIR_LXC_NETWORK_CONFIG_NAME,
|
||||||
|
VIR_LXC_NETWORK_CONFIG_TYPE,
|
||||||
|
VIR_LXC_NETWORK_CONFIG_LINK,
|
||||||
|
VIR_LXC_NETWORK_CONFIG_HWADDR,
|
||||||
|
VIR_LXC_NETWORK_CONFIG_FLAGS,
|
||||||
|
VIR_LXC_NETWORK_CONFIG_MACVLAN_MODE,
|
||||||
|
VIR_LXC_NETWORK_CONFIG_VLAN_ID,
|
||||||
|
VIR_LXC_NETWORK_CONFIG_IPV4,
|
||||||
|
VIR_LXC_NETWORK_CONFIG_IPV4_GATEWAY,
|
||||||
|
VIR_LXC_NETWORK_CONFIG_IPV6,
|
||||||
|
VIR_LXC_NETWORK_CONFIG_IPV6_GATEWAY,
|
||||||
|
VIR_LXC_NETWORK_CONFIG_LAST,
|
||||||
|
} virLXCNetworkConfigEntry;
|
||||||
|
|
||||||
|
VIR_ENUM_DECL(virLXCNetworkConfigEntry);
|
||||||
|
|
||||||
virDomainDefPtr lxcParseConfigString(const char *config,
|
virDomainDefPtr lxcParseConfigString(const char *config,
|
||||||
virCapsPtr caps,
|
virCapsPtr caps,
|
||||||
virDomainXMLOptionPtr xmlopt);
|
virDomainXMLOptionPtr xmlopt);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user