Hello list!

I'm new here and interested in hot-plug multi-function PCI devices. Basically I'd like to know why Libvirt does not support it. I've been through the archives and basically found this thread:

https://www.redhat.com/archives/libvir-list/2011-May/msg00457.html

But Qemu seems to handle it accordingly:
virsh qemu-monitor-command --hmp fedora-23 'device_add vfio-pci,host=00:16.0,addr=08.0'
virsh qemu-monitor-command --hmp fedora-23 'device_add vfio-pci,host=00:16.3,addr=08.3'

GUEST:
# lspci
(snip)
00:08.0 Communication controller: Intel Corporation 8 Series HECI #0 (rev 04)
00:08.3 Serial controller: Intel Corporation 8 Series HECI KT (rev 04)

However, using Libvirt:

% virsh attach-device fedora-23 pci_0000_00_16_0.xml --live
Device attached successfully

% virsh attach-device fedora-23 pci_0000_00_16_3.xml --live
error: Failed to attach device from pci_0000_00_16_3.xml
error: internal error: Only PCI device addresses with function=0 are supported

I made some changes on domain_addr.c[1] for testing and it worked.

[1]https://gist.github.com/jrziviani/1da184c7fd0b413e0426

% virsh attach-device fedora-23 pci_0000_00_16_3.xml --live
Device attached successfully

GUEST:
# lspci
(snip)
00:08.0 Communication controller: Intel Corporation 8 Series HECI #0 (rev 04)
00:08.3 Serial controller: Intel Corporation 8 Series HECI KT (rev 04)

So there is more to it that I'm not aware?

Thank you!