RE: RE: [RFC] virtio-net: support access and control the member devices

From
Parav Pandit <>
Date
2023-08-03T11:13:31+00:00
ID
Thread
RE: RE: [RFC] virtio-net: support access and control the member devices
> From: Xuan Zhuo <>
> Sent: Thursday, August 3, 2023 4:36 PM


> 
> OK.
> 
> 
> >
> > > +        u8 mac[6];
> > > +        le16 status;
> > > +        le16 max_virtqueue_pairs;
> > > +        le16 mtu;
> > > +        le32 speed;
> > > +        u8 duplex;
> >
> > We should above split constant config space fields and below run time fields
> meant for debug purpose.
> > We are working on the member device migration proposal and below fields
> belong to "device context" should be available through such separate command.
> > But if you do it before, please cover the whole device state and we will be
> able to reuse for multiple use-cases.
> 
> 
> I am not sure I got fully.
> 
> I will try.

Something like below.

struct virtio_field {
	le32 type;	/* contains the value of enum virtio_dev_field_type */ 
	le32 size;	/* size of the data field in bytes */
	u8 data[]; 
};

enum virtio_dev_field_type {
        VIRTIO_DEV_PCI_COMMON_CFG, 	/*  struct virtio_dev_common_cfg */ 
        VIRTIO_DEV_CFG_SPACE,	/* config space fields, for net  struct virtio_net_config etc */ 
        VIRTIO_DEV_QUEUE_CFG,	/* struct virtio_dev_q_cfg */ 
};

In your use case, it is VIRTIO_DEV_CFG_SPACE, just blob of data bytes.