提交 29031975 编写于 作者: M Marek Marczykowski-Górecki 提交者: Jim Fehlig

libxl: allow only 'ethernet' and 'bridge' interfaces, allow script there

Actually only those interface types are handled correctly so reject
others instead of ignoring settings (i.e. treating as bridge/ethernet
anyway).
Also allow <script/> in 'ethernet' (which should be the only
script-allowing type). Keep <script/> allowed in bridge to be compatible
with legacy 'xen' driver.
Signed-off-by: NMarek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
上级 07966f6a
...@@ -572,18 +572,20 @@ libxlMakeNic(virDomainNetDefPtr l_nic, libxl_device_nic *x_nic) ...@@ -572,18 +572,20 @@ libxlMakeNic(virDomainNetDefPtr l_nic, libxl_device_nic *x_nic)
if (VIR_STRDUP(x_nic->ifname, l_nic->ifname) < 0) if (VIR_STRDUP(x_nic->ifname, l_nic->ifname) < 0)
return -1; return -1;
if (l_nic->type == VIR_DOMAIN_NET_TYPE_BRIDGE) { switch (l_nic->type) {
if (VIR_STRDUP(x_nic->bridge, l_nic->data.bridge.brname) < 0) case VIR_DOMAIN_NET_TYPE_BRIDGE:
return -1; if (VIR_STRDUP(x_nic->bridge, l_nic->data.bridge.brname) < 0)
if (VIR_STRDUP(x_nic->script, l_nic->script) < 0) return -1;
return -1; /* fallthrough */
} else { case VIR_DOMAIN_NET_TYPE_ETHERNET:
if (l_nic->script) { if (VIR_STRDUP(x_nic->script, l_nic->script) < 0)
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, return -1;
_("scripts are not supported on interfaces of type %s"), break;
virDomainNetTypeToString(l_nic->type)); default:
virReportError(VIR_ERR_INTERNAL_ERROR,
_("libxenlight does not support network device type %s"),
virDomainNetTypeToString(l_nic->type));
return -1; return -1;
}
} }
return 0; return 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册