'Get the domain config for a VIF
:param instance: nova.objects.Instance
:param vif: os_vif.objects.vif.VIFBase subclass
:param image_meta: nova.objects.ImageMeta
:param inst_type: nova.objects.Flavor
:param virt_type: virtualization type
:param host: nova.virt.libvirt.host.Host
:param vnic_type: vnic type
:returns: nova.virt.libvirt.config.LibvirtConfigGuestInterface'

def _get_config_os_vif(self, instance, vif, image_meta, inst_type, virt_type, host, vnic_type):

    conf = self.get_base_config(instance, vif.address, image_meta, inst_type, virt_type, vnic_type)
    viffunc = ('_set_config_' + vif.obj_name())
    func = getattr(self, viffunc, None)
    if (not func):
        raise exception.InternalError((_('Unsupported    VIF    type    %(obj)s    func    %(func)s') % {'obj': vif.obj_name(), 'func': viffunc}))
    func(instance, vif, conf, host)
    designer.set_vif_bandwidth_config(conf, inst_type)
    return conf
