[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH] expose SR IOV physical/virtual function relationships



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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]