Add max_supported_vqs and supported_features fields to struct vdpa_mgmt_dev. Upstream drivers need to feel these values according to the device capabilities. These values are reported back in a netlink message when showing management devices. Examples: $ auxiliary/mlx5_core.sf.1: supported_classes net max_supported_vqs 257 dev_features CSUM GUEST_CSUM MTU HOST_TSO4 HOST_TSO6 STATUS CTRL_VQ MQ \ CTRL_MAC_ADDR VERSION_1 ACCESS_PLATFORM $ vdpa -j mgmtdev show {"mgmtdev":{"auxiliary/mlx5_core.sf.1":{"supported_classes":["net"], \ "max_supported_vqs":257,"dev_features":["CSUM","GUEST_CSUM","MTU", \ "HOST_TSO4","HOST_TSO6","STATUS","CTRL_VQ","MQ","CTRL_MAC_ADDR", \ "VERSION_1","ACCESS_PLATFORM"]}}} $ vdpa -jp mgmtdev show { "mgmtdev": { "auxiliary/mlx5_core.sf.1": { "supported_classes": [ "net" ], "max_supported_vqs": 257, "dev_features": ["CSUM","GUEST_CSUM","MTU","HOST_TSO4", \ "HOST_TSO6","STATUS","CTRL_VQ","MQ", \ "CTRL_MAC_ADDR","VERSION_1","ACCESS_PLATFORM"] } } }
Showing the changes to include/uapi/linux (1 of 3 files). Show all
Unified · Split
| @@ -44,6 +44,8 @@ enum vdpa_attr { · 43 unmodified lines | |||
| 44 | VDPA_ATTR_DEV_NET_CFG_MTU, /* u16 */ | 44 | VDPA_ATTR_DEV_NET_CFG_MTU, /* u16 */ |
| 45 | 45 | ||
| 46 | VDPA_ATTR_DEV_NEGOTIATED_FEATURES, /* u64 */ | 46 | VDPA_ATTR_DEV_NEGOTIATED_FEATURES, /* u64 */ |
| 47 | VDPA_ATTR_DEV_MGMTDEV_MAX_VQS, /* u32 */ | ||
| 48 | VDPA_ATTR_DEV_SUPPORTED_FEATURES, /* u64 */ | ||
| 47 | /* new attributes must be added above here */ | 49 | /* new attributes must be added above here */ |
| 48 | VDPA_ATTR_MAX, | 50 | VDPA_ATTR_MAX, |
| 49 | }; | 51 | }; |