[Libvirt-cim] [PATCH V3 01/11] remove script for bridge network
Wenchao Xia
xiawenc at linux.vnet.ibm.com
Tue Mar 12 05:08:18 UTC 2013
于 2013-3-11 21:34, John Ferlan 写道:
>
> Since I don't have the original email to reply-to for a code review, here is a link:
>
> https://www.redhat.com/archives/libvirt-cim/2012-December/msg00030.html
>
> NACK
>
> As previously noted, a script is supported (and perhaps required) in the Xen guest.
>
> Consider the following, which adds a parameter to the call in order to allow for Xen:
>
Agree with your approach, please "git send-email" your patch.
>
> -static const char *bridge_net_to_xml(xmlNodePtr nic, struct net_device *dev)
> +static const char *bridge_net_to_xml(xmlNodePtr nic, struct net_device *dev,
> + int domtype)
> {
> const char *script = "vif-bridge";
> xmlNodePtr tmp;
> const char *msg = NULL;
>
> - tmp = xmlNewChild(nic, NULL, BAD_CAST "script", NULL);
> - if (tmp == NULL)
> - return XML_ERROR;
> - xmlNewProp(tmp, BAD_CAST "path", BAD_CAST script);
> + /* Scripts only supported on Xen guests see 'libvirt'
> + * commit id 1734cdb99 (since 0.9.10) */
> + if (domtype == DOMAIN_XENPV || domtype == DOMAIN_XENFV) {
> + tmp = xmlNewChild(nic, NULL, BAD_CAST "script", NULL);
> + if (tmp == NULL)
> + return XML_ERROR;
> + xmlNewProp(tmp, BAD_CAST "path", BAD_CAST script);
> + }
>
> msg = set_net_source(nic, dev, "bridge");
>
> @@ -375,13 +380,13 @@ static const char *net_xml(xmlNodePtr root, struct domain
> }
> #endif
>
> - if (STREQ(dev->dev.net.type, "network"))
> + if (STREQ(dev->dev.net.type, "network")) {
> msg = set_net_source(nic, net, "network");
> - else if (STREQ(dev->dev.net.type, "bridge"))
> - msg = bridge_net_to_xml(nic, net);
> - else if (STREQ(dev->dev.net.type, "user"))
> + } else if (STREQ(dev->dev.net.type, "bridge")) {
> + msg = bridge_net_to_xml(nic, net, dominfo->type);
> + } else if (STREQ(dev->dev.net.type, "user")) {
> continue;
> - else if (STREQ(dev->dev.net.type, "direct")) {
> + } else if (STREQ(dev->dev.net.type, "direct")) {
> msg = set_net_source(nic, net, "direct");
> if (net->vsi.vsi_type != NULL) {
> struct vsi_device *vsi = &dev->dev.net.vsi;
>
> _______________________________________________
> Libvirt-cim mailing list
> Libvirt-cim at redhat.com
> https://www.redhat.com/mailman/listinfo/libvirt-cim
>
--
Best Regards
Wenchao Xia
More information about the Libvirt-cim
mailing list