The only remaining part is querying vm-side BDF. That can't be done in libvirt.
Here were files with config for WNI, available in repo's history. vm-config/wni-vm-template-hvm.xml vm-config/wni-vm-template.xml