Cole Robinson wrote:
On 12/01/2009 10:33 AM, Dave Allan wrote:
> Attached is a patch that exposes the relationships between physical and
> virtual functions on SR IOV capable devices.
>
> Dave
>
> diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c
> index 6003ab1..4b5d17c 100644
> --- a/src/conf/node_device_conf.c
> +++ b/src/conf/node_device_conf.c
> @@ -246,6 +246,7 @@ char *virNodeDeviceDefFormat(virConnectPtr conn,
> {
> virBuffer buf = VIR_BUFFER_INITIALIZER;
> virNodeDevCapsDefPtr caps;
> + unsigned int i = 0;
> char *tmp;
>
> virBufferAddLit(&buf, "<device>\n");
> @@ -318,6 +319,16 @@ char *virNodeDeviceDefFormat(virConnectPtr conn,
> data->pci_dev.vendor_name);
> else
> virBufferAddLit(&buf, " />\n");
> + if (data->pci_dev.physical_function) {
> + virBufferEscapeString(&buf, "
<physical_function>%s</physical_function>\n",
> + data->pci_dev.physical_function);
> + }
> + if (data->pci_dev.num_virtual_functions > 0) {
> + for (i = 0 ; i < data->pci_dev.num_virtual_functions ; i++) {
> + virBufferEscapeString(&buf, "
<virtual_function>%s</virtual_function>\n",
> + data->pci_dev.virtual_functions[i]);
> + }
> + }
> break;
> case VIR_NODE_DEV_CAP_USB_DEV:
> virBufferVSprintf(&buf, " <bus>%d</bus>\n",
data->usb_dev.bus);
It would be nice to drop a test file in tests/nodedevschemadata, and
update tests/nodedevxml2xmltest.c to make sure the roundtrip define +
dumpxml is working.
Thanks, Cole--I'll do that.
Dave