• Si-Wei Liu's avatar
    vdpa/mlx5: support device features provisioning · deeacf35
    Si-Wei Liu authored
    This patch implements features provisioning for mlx5_vdpa.
    
    1) Validate the provisioned features are a subset of the parent
        features.
    2) Clearing features that are not wanted by userspace.
    
    For example:
    
        # vdpa mgmtdev show
        pci/0000:41:04.2:
          supported_classes net
          max_supported_vqs 65
          dev_features CSUM GUEST_CSUM MTU MAC HOST_TSO4 HOST_TSO6 STATUS CTRL_VQ CTRL_VLAN MQ CTRL_MAC_ADDR VERSION_1 ACCESS_PLATFORM
    
    1) Provision vDPA device with all features derived from the parent
    
        # vdpa dev add name vdpa1 mgmtdev pci/0000:41:04.2
        # vdpa dev config show
        vdpa1: mac e4:11:c6:d3:45:f0 link up link_announce false max_vq_pairs 1 mtu 1500
          negotiated_features CSUM GUEST_CSUM MTU HOST_TSO4 HOST_TSO6 STATUS CTRL_VQ CTRL_VLAN MQ CTRL_MAC_ADDR VERSION_1 ACCESS_PLATFORM
    
    2) Provision vDPA device with a subset of parent features
    
        # vdpa dev add name vdpa1 mgmtdev pci/0000:41:04.2 device_features 0x300020000
        # vdpa dev config show
        vdpa1:
          negotiated_features CTRL_VQ VERSION_1 ACCESS_PLATFORM
    Signed-off-by: default avatarSi-Wei Liu <si-wei.liu@oracle.com>
    Reviewed-by: default avatarEli Cohen <elic@nvidia.com>
    Message-Id: <1675725124-7375-7-git-send-email-si-wei.liu@oracle.com>
    Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
    deeacf35
mlx5_vnet.c 89 KB