[libvirt] [PATCH 5/7] parallels: make E1000 network adapter model default
Maxim Nestratov
mnestratov at parallels.com
Wed Mar 18 07:44:43 UTC 2015
18.03.2015 10:20, Maxim Nestratov пишет:
> and set adapter model specified in xml
>
> Signed-off-by: Maxim Nestratov <mnestratov at parallels.com>
> ---
> src/parallels/parallels_driver.c | 7 ++++++-
> src/parallels/parallels_sdk.c | 17 +++++++++++++++++
> 2 files changed, 23 insertions(+), 1 deletions(-)
>
> diff --git a/src/parallels/parallels_driver.c b/src/parallels/parallels_driver.c
> index 1a6d6e6..807c1b1 100644
> --- a/src/parallels/parallels_driver.c
> +++ b/src/parallels/parallels_driver.c
> @@ -168,13 +168,18 @@ parallelsDomainDefPostParse(virDomainDefPtr def ATTRIBUTE_UNUSED,
> return 0;
> }
>
> -
> static int
> parallelsDomainDeviceDefPostParse(virDomainDeviceDefPtr dev ATTRIBUTE_UNUSED,
> const virDomainDef *def ATTRIBUTE_UNUSED,
> virCapsPtr caps ATTRIBUTE_UNUSED,
> void *opaque ATTRIBUTE_UNUSED)
> {
> + if (dev->type == VIR_DOMAIN_DEVICE_NET &&
> + (dev->data.net->type == VIR_DOMAIN_NET_TYPE_NETWORK ||
> + dev->data.net->type == VIR_DOMAIN_NET_TYPE_BRIDGE) &&
> + !dev->data.net->model)
> + return VIR_STRDUP(dev->data.net->model, "e1000");
> +
> return 0;
> }
>
> diff --git a/src/parallels/parallels_sdk.c b/src/parallels/parallels_sdk.c
> index d699613..d34c814 100644
> --- a/src/parallels/parallels_sdk.c
> +++ b/src/parallels/parallels_sdk.c
> @@ -2672,6 +2672,23 @@ static int prlsdkAddNet(PRL_HANDLE sdkdom, parallelsConnPtr privconn, virDomainN
> pret = PrlVmDevNet_SetMacAddress(sdknet, macstr);
> prlsdkCheckRetGoto(pret, cleanup);
>
> + if (STREQ(net->model, "rtl8139"))
> + pret = PrlVmDevNet_SetAdapterType(sdknet, PNT_RTL);
> + else if (STREQ(net->model, "e1000"))
> + pret = PrlVmDevNet_SetAdapterType(sdknet, PNT_E1000);
> + else if (STREQ(net->model, "virtio"))
> + pret = PrlVmDevNet_SetAdapterType(sdknet, PNT_VIRTIO);
> + else {
> +
> + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
> + _("Specified network adapter model is not "
> + "supported by Parallels Cloud Server."));
> + goto cleanup;
> + }
+ prlsdkCheckRetGoto(pret, cleanup);
Noticed after sending that I forgot to include this line here
> +
> + pret = PrlVmDevNet_SetAdapterType(sdknet, PNT_E1000);
> + prlsdkCheckRetGoto(pret, cleanup);
> +
> if (net->type == VIR_DOMAIN_NET_TYPE_NETWORK) {
> if (STREQ(net->data.network.name, PARALLELS_DOMAIN_ROUTED_NETWORK_NAME)) {
> pret = PrlVmDev_SetEmulatedType(sdknet, PNA_ROUTED);
More information about the libvir-list
mailing list