mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
parallels: handle network adapters of type 'routed'
Network adapters of type 'routed' is a special case. Other adapters have 'network' parameter in prlctl's output instead. Routed network adapters should be connected to 'routed' network from libvirt's view. Signed-off-by: Dmitry Guryanov <dguryanov@parallels.com>
This commit is contained in:
parent
84f0a0b8f2
commit
ad9d8dbcae
@ -482,6 +482,8 @@ parallelsGetNetInfo(virDomainNetDefPtr net,
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (virJSONValueObjectHasKey(value, "network")) {
|
||||||
if (!(tmp = virJSONValueObjectGetString(value, "network"))) {
|
if (!(tmp = virJSONValueObjectGetString(value, "network"))) {
|
||||||
parallelsParseError();
|
parallelsParseError();
|
||||||
goto error;
|
goto error;
|
||||||
@ -491,6 +493,25 @@ parallelsGetNetInfo(virDomainNetDefPtr net,
|
|||||||
virReportOOMError();
|
virReportOOMError();
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
} else if (virJSONValueObjectHasKey(value, "type")) {
|
||||||
|
if (!(tmp = virJSONValueObjectGetString(value, "type"))) {
|
||||||
|
parallelsParseError();
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!STREQ(tmp, "routed")) {
|
||||||
|
parallelsParseError();
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(net->data.network.name = strdup(PARALLELS_ROUTED_NETWORK_NAME))) {
|
||||||
|
virReportOOMError();
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
parallelsParseError();
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
net->linkstate = VIR_DOMAIN_NET_INTERFACE_LINK_STATE_UP;
|
net->linkstate = VIR_DOMAIN_NET_INTERFACE_LINK_STATE_UP;
|
||||||
if (virJSONValueObjectHasKey(value, "state")) {
|
if (virJSONValueObjectHasKey(value, "state")) {
|
||||||
@ -1866,7 +1887,14 @@ static int parallelsApplyIfaceParams(parallelsDomObjPtr pdom,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!STREQ_NULLABLE(oldnet->data.network.name, newnet->data.network.name)) {
|
if (!STREQ_NULLABLE(oldnet->data.network.name, newnet->data.network.name)) {
|
||||||
virCommandAddArgFormat(cmd, "--network=%s", newnet->data.network.name);
|
if (STREQ_NULLABLE(newnet->data.network.name,
|
||||||
|
PARALLELS_ROUTED_NETWORK_NAME)) {
|
||||||
|
virCommandAddArgFormat(cmd, "--type=routed");
|
||||||
|
} else {
|
||||||
|
virCommandAddArgFormat(cmd, "--network=%s",
|
||||||
|
newnet->data.network.name);
|
||||||
|
}
|
||||||
|
|
||||||
is_changed = true;
|
is_changed = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user