On Sun, Dec 19, 2021 at 10:03 PM Eli Cohen <[email protected]> wrote:
>
> Add netlink attribute to store the negotiated features. This can be used
> by userspace to get the current state of the vdpa instance.
>
> Example:
> $ vdpa dev config show vdpa-a
> vdpa-a: mac 00:00:00:00:88:88 link up link_announce false max_vq_pairs
> 16 mtu 1500 features c3182bc3182b
> CSUM GUEST_CSUM MTU MAC HOST_TSO4 HOST_TSO6 STATUS VERSION_1 \
> ACCESS_PLATFORM
>
> Signed-off-by: Eli Cohen <[email protected]>
>
> ----
> V2 -> V3
> 1. Move attribute definition to end of enum definition
> 2. Return the entire negotiated features bit mask
> ---
> drivers/vdpa/vdpa.c | 3 +++
> include/uapi/linux/vdpa.h | 4 ++++
> 2 files changed, 7 insertions(+)
>
> diff --git a/drivers/vdpa/vdpa.c b/drivers/vdpa/vdpa.c
> index 83730713c7d0..64b2ab60e0bb 100644
> --- a/drivers/vdpa/vdpa.c
> +++ b/drivers/vdpa/vdpa.c
> @@ -820,6 +820,9 @@ static int vdpa_dev_net_config_fill(struct vdpa_device
> *vdev, struct sk_buff *ms
> return -EMSGSIZE;
>
> features = vdev->config->get_driver_features(vdev);
> + if (nla_put_u64_64bit(msg, VDPA_ATTR_DEV_NEGOTIATED_FEATURES,
> features,
> + VDPA_ATTR_PAD))
> + return -EMSGSIZE;
>
> return vdpa_dev_net_mq_config_fill(vdev, msg, features, &config);
> }
> diff --git a/include/uapi/linux/vdpa.h b/include/uapi/linux/vdpa.h
> index a252f06f9dfd..db3738ef3beb 100644
> --- a/include/uapi/linux/vdpa.h
> +++ b/include/uapi/linux/vdpa.h
> @@ -23,6 +23,9 @@ enum vdpa_command {
> enum vdpa_attr {
> VDPA_ATTR_UNSPEC,
>
> + /* Pad attribute for 64b alignment */
> + VDPA_ATTR_PAD = VDPA_ATTR_UNSPEC,
> +
I may miss something, but will this lead to a change in the existing ABI?
Thanks
> /* bus name (optional) + dev name together make the parent device
> handle */
> VDPA_ATTR_MGMTDEV_BUS_NAME, /* string */
> VDPA_ATTR_MGMTDEV_DEV_NAME, /* string */
> @@ -40,6 +43,7 @@ enum vdpa_attr {
> VDPA_ATTR_DEV_NET_CFG_MAX_VQP, /* u16 */
> VDPA_ATTR_DEV_NET_CFG_MTU, /* u16 */
>
> + VDPA_ATTR_DEV_NEGOTIATED_FEATURES, /* u64 */
> /* new attributes must be added above here */
> VDPA_ATTR_MAX,
> };
> --
> 2.34.1
>
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/virtualization