mirror of https://gitee.com/openkylin/libvirt.git
conf: make 'vnet' prefix a macro
Using a macro ensures that all the code is looking for the same prefix. * src/conf/domain_conf.h (VIR_NET_GENERATED_PREFIX): New macro. * src/conf/domain_conf.c (virDomainNetDefParseXML): Use it. * src/uml/uml_conf.c (umlConnectTapDevice): Likewise. * src/qemu/qemu_command.c (qemuNetworkIfaceConnect): Likewise. Suggested by Laine Stump.
This commit is contained in:
parent
513122ae93
commit
dd20328fbb
|
@ -2819,7 +2819,7 @@ virDomainNetDefParseXML(virCapsPtr caps,
|
|||
ifname = virXMLPropString(cur, "dev");
|
||||
if ((ifname != NULL) &&
|
||||
((flags & VIR_DOMAIN_XML_INACTIVE) &&
|
||||
(STRPREFIX((const char*)ifname, "vnet")))) {
|
||||
(STRPREFIX(ifname, VIR_NET_GENERATED_PREFIX)))) {
|
||||
/* An auto-generated target name, blank it out */
|
||||
VIR_FREE(ifname);
|
||||
}
|
||||
|
|
|
@ -429,6 +429,10 @@ struct _virDomainNetDef {
|
|||
virBandwidthPtr bandwidth;
|
||||
};
|
||||
|
||||
/* Used for prefix of ifname of any network name generated dynamically
|
||||
* by libvirt, and cannot be used for a persistent network name. */
|
||||
# define VIR_NET_GENERATED_PREFIX "vnet"
|
||||
|
||||
enum virDomainChrDeviceType {
|
||||
VIR_DOMAIN_CHR_DEVICE_TYPE_PARALLEL = 0,
|
||||
VIR_DOMAIN_CHR_DEVICE_TYPE_SERIAL,
|
||||
|
|
|
@ -188,7 +188,7 @@ qemuNetworkIfaceConnect(virDomainDefPtr def,
|
|||
int err;
|
||||
int tapfd = -1;
|
||||
int vnet_hdr = 0;
|
||||
int template_ifname = 0;
|
||||
bool template_ifname = false;
|
||||
unsigned char tapmac[VIR_MAC_BUFLEN];
|
||||
int actualType = virDomainNetGetActualType(net);
|
||||
|
||||
|
@ -244,15 +244,15 @@ qemuNetworkIfaceConnect(virDomainDefPtr def,
|
|||
}
|
||||
|
||||
if (!net->ifname ||
|
||||
STRPREFIX(net->ifname, "vnet") ||
|
||||
STRPREFIX(net->ifname, VIR_NET_GENERATED_PREFIX) ||
|
||||
strchr(net->ifname, '%')) {
|
||||
VIR_FREE(net->ifname);
|
||||
if (!(net->ifname = strdup("vnet%d"))) {
|
||||
if (!(net->ifname = strdup(VIR_NET_GENERATED_PREFIX "%d"))) {
|
||||
virReportOOMError();
|
||||
goto cleanup;
|
||||
}
|
||||
/* avoid exposing vnet%d in getXMLDesc or error outputs */
|
||||
template_ifname = 1;
|
||||
template_ifname = true;
|
||||
}
|
||||
|
||||
if (qemuCapsGet(qemuCaps, QEMU_CAPS_VNET_HDR) &&
|
||||
|
|
|
@ -115,7 +115,7 @@ umlConnectTapDevice(virConnectPtr conn,
|
|||
const char *bridge)
|
||||
{
|
||||
brControl *brctl = NULL;
|
||||
int template_ifname = 0;
|
||||
bool template_ifname = false;
|
||||
int err;
|
||||
unsigned char tapmac[VIR_MAC_BUFLEN];
|
||||
|
||||
|
@ -126,13 +126,13 @@ umlConnectTapDevice(virConnectPtr conn,
|
|||
}
|
||||
|
||||
if (!net->ifname ||
|
||||
STRPREFIX(net->ifname, "vnet") ||
|
||||
STRPREFIX(net->ifname, VIR_NET_GENERATED_PREFIX) ||
|
||||
strchr(net->ifname, '%')) {
|
||||
VIR_FREE(net->ifname);
|
||||
if (!(net->ifname = strdup("vnet%d")))
|
||||
if (!(net->ifname = strdup(VIR_NET_GENERATED_PREFIX "%d")))
|
||||
goto no_memory;
|
||||
/* avoid exposing vnet%d in getXMLDesc or error outputs */
|
||||
template_ifname = 1;
|
||||
template_ifname = true;
|
||||
}
|
||||
|
||||
memcpy(tapmac, net->mac, VIR_MAC_BUFLEN);
|
||||
|
|
Loading…
Reference in New Issue