On 08/19/2015 07:54 PM, Victor Kaplansky wrote: > On Mon, Aug 17, 2015 at 10:43:46AM +0800, Jason Wang wrote: >> >> On 08/16/2015 09:42 PM, Victor Kaplansky wrote: >>> Clarify general description of the mac, status and >>> max_virtqueue_pairs fields. Specifically, the old description is >>> vague about configuration layout and fields offsets when some of >>> the fields are non valid. >>> >>> Also clarify that validity of two status bits depends on two >>> different feature flags. >>> >>> Signed-off-by: Victor Kaplansky <victork@xxxxxxxxxx> >>> --- >>> + >>> +\item [\field{max_virtqueue_pairs}] tells the driver the maximum >>> + number of each of virtqueues (receiveq1\ldots receiveqN and >>> + transmitq1\ldots transmitqN respectively) that can be configured >>> + on the device once VIRTIO_NET_F_MQ is negotiated. >>> + \field{max_virtqueue_pairs} is valid only if VIRTIO_NET_F_MQ is >>> + set and can be read by the driver. >>> + >> >> I don't get the point that adding "can be read by the driver". Looks >> like it's hard for hypervisor to detect this? > AFAIU, if the device sets VIRTIO_NET_F_MQ, the device also sets > the value of 'max_virtqueue_pairs' even before driver negotiated > VIRTIO_NET_F_MQ. If so, the driver can read the value of > 'max_virtqueue_pairs' during negotiation and potentially this > value can even affect negotiation decision of the driver. Looks not, it's legal to negotiate VIRTIO_NET_F_MQ with max_virtqueue_pairs = 1. > > If above is correct, I'll change the description to make this > point more clear. > > Thanks, > -- Victor Driver also sets 'mac' before driver negotiated VIRTIO_NET_F_MAC, so I'm not sure this is really needed. Thanks _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization