Re: [PATCH v3 07/10] vdpa: Add support for returning device configuration information

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Dec 21, 2021 at 3:04 PM Eli Cohen <elic@xxxxxxxxxx> wrote:
>
> On Tue, Dec 21, 2021 at 08:20:32AM +0200, Eli Cohen wrote:
> > On Tue, Dec 21, 2021 at 01:57:54PM +0800, Jason Wang wrote:
> > > On Sun, Dec 19, 2021 at 10:03 PM Eli Cohen <elic@xxxxxxxxxx> 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 <elic@xxxxxxxxxx>
> > > >
> > > > ----
> > > > 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?
> > >
> >
> > You're right.
> > I think it can be moved to the end of the enum
>
> Actuall, it's OK. It does not change the other enum values and it can't
> be moved to the end because it will corrupt the enumeration of
> VDPA_ATTR_MAX

Right.

Acked-by: Jason Wang <jasowang@xxxxxxxxxx>

> >
> > > 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
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/virtualization



[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux