• Zhu Lingshan's avatar
    vDPA/ifcvf: implement features provisioning · 46fc0917
    Zhu Lingshan authored
    This commit implements features provisioning for ifcvf, that means:
    1)checkk whether the provisioned features are supported by
    the management device
    2)vDPA device only presents selected feature bits
    
    Examples:
    a)The management device supported features:
    $ vdpa mgmtdev show pci/0000:01:00.5
    pci/0000:01:00.5:
      supported_classes net
      max_supported_vqs 9
      dev_features MTU MAC MRG_RXBUF CTRL_VQ MQ ANY_LAYOUT VERSION_1 ACCESS_PLATFORM
    
    b)Provision a vDPA device with all supported features:
    $ vdpa dev add name vdpa0 mgmtdev pci/0000:01:00.5
    $ vdpa/vdpa dev config show vdpa0
    vdpa0: mac 00:e8:ca:11:be:05 link up link_announce false max_vq_pairs 4 mtu 1500
      negotiated_features MRG_RXBUF CTRL_VQ MQ VERSION_1 ACCESS_PLATFORM
    
    c)Provision a vDPA device with a subset of the supported features:
    $ vdpa dev add name vdpa0 mgmtdev pci/0000:01:00.5 device_features 0x300020020
    $ vdpa dev config show vdpa0
    mac 00:e8:ca:11:be:05 link up link_announce false
      negotiated_features CTRL_VQ VERSION_1 ACCESS_PLATFORM
    Signed-off-by: default avatarZhu Lingshan <lingshan.zhu@intel.com>
    Message-Id: <20221125145724.1129962-13-lingshan.zhu@intel.com>
    Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
    46fc0917
ifcvf_main.c 21.7 KB