diff --git a/src/conf/capabilities.c b/src/conf/capabilities.c index 86ea212fa9..9ab343bc65 100644 --- a/src/conf/capabilities.c +++ b/src/conf/capabilities.c @@ -221,6 +221,7 @@ virCapabilitiesDispose(void *object) virCapabilitiesClearSecModel(&caps->host.secModels[i]); VIR_FREE(caps->host.secModels); + VIR_FREE(caps->host.netprefix); VIR_FREE(caps->host.pagesSize); virCPUDefFree(caps->host.cpu); } @@ -269,6 +270,23 @@ virCapabilitiesAddHostMigrateTransport(virCapsPtr caps, return 0; } +/** + * virCapabilitiesSetNetPrefix: + * @caps: capabilities to extend + * @name: prefix for host generated network interfaces + * + * Registers the prefix that is used for generated network interfaces + */ +int +virCapabilitiesSetNetPrefix(virCapsPtr caps, + const char *prefix) +{ + if (VIR_STRDUP(caps->host.netprefix, prefix) < 0) + return -1; + + return 0; +} + /** * virCapabilitiesAddHostNUMACell: @@ -913,6 +931,10 @@ virCapabilitiesFormatXML(virCapsPtr caps) virBufferAddLit(&buf, "\n"); } + if (caps->host.netprefix) + virBufferAsprintf(&buf, "%s\n", + caps->host.netprefix); + if (caps->host.nnumaCell && virCapabilitiesFormatNUMATopology(&buf, caps->host.nnumaCell, caps->host.numaCell) < 0) diff --git a/src/conf/capabilities.h b/src/conf/capabilities.h index 1754b13269..2767f4807d 100644 --- a/src/conf/capabilities.h +++ b/src/conf/capabilities.h @@ -160,6 +160,7 @@ struct _virCapsHost { size_t nsecModels; virCapsHostSecModelPtr secModels; + char *netprefix; virCPUDefPtr cpu; int nPagesSize; /* size of pagesSize array */ unsigned int *pagesSize; /* page sizes support on the system */ @@ -219,6 +220,9 @@ extern int virCapabilitiesAddHostMigrateTransport(virCapsPtr caps, const char *name); +extern int +virCapabilitiesSetNetPrefix(virCapsPtr caps, + const char *prefix); extern int virCapabilitiesAddHostNUMACell(virCapsPtr caps, diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 69be352d6e..f118d979ee 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -59,6 +59,7 @@ virCapabilitiesGetCpusForNodemask; virCapabilitiesHostSecModelAddBaseLabel; virCapabilitiesNew; virCapabilitiesSetHostCPU; +virCapabilitiesSetNetPrefix; # conf/cpu_conf.h