On Mon, Mar 27, 2017 at 07:46:32AM +0000, Tan, Jianfeng wrote:
> > > diff --git a/drivers/net/virtio/virtio_user/virtio_user_dev.c
> > b/drivers/net/virtio/virtio_user/virtio_user_dev.c
> > > index 9777d6b..cc6f557 100644
> > > --- a/drivers/net/virtio/virtio_user/virtio_user_dev.c
> > > +++ b/drivers/net/virtio/virtio_user/virtio_user_dev.c
> > > @@ -176,6 +176,7 @@ virtio_user_start_device(struct virtio_user_dev
> > *dev, uint8_t portid)
> > >   features &= ~(1ull << VIRTIO_NET_F_MAC);
> > >   /* Strip VIRTIO_NET_F_CTRL_VQ, as devices do not really need to
> > know */
> > >   features &= ~(1ull << VIRTIO_NET_F_CTRL_VQ);
> > > + features &= ~(1ull << VIRTIO_NET_F_STATUS);
> > >   ret = dev->ops->send_request(dev, VHOST_USER_SET_FEATURES,
> > &features);
> > >   if (ret < 0)
> > >           goto error;
> > > diff --git a/drivers/net/virtio/virtio_user_ethdev.c
> > b/drivers/net/virtio/virtio_user_ethdev.c
> > > index fa79419..fbdd0a8 100644
> > > --- a/drivers/net/virtio/virtio_user_ethdev.c
> > > +++ b/drivers/net/virtio/virtio_user_ethdev.c
> > > @@ -121,7 +121,8 @@ virtio_user_get_features(struct virtio_hw *hw)
> > >   struct virtio_user_dev *dev = virtio_user_get_dev(hw);
> > >
> > >   /* unmask feature bits defined in vhost user protocol */
> > > - return dev->device_features &
> > VIRTIO_PMD_SUPPORTED_GUEST_FEATURES;
> > > + return (dev->device_features | (1 << VIRTIO_NET_F_STATUS))
> > > +         & VIRTIO_PMD_SUPPORTED_GUEST_FEATURES;
> > 
> > Why not handle the features at virtio_user_dev_init()?
> 
> You mean add VIRTIO_NET_F_STATUS when get_features from device? Yes, we could 
> do that there. But we originally add device_features to only record features 
> supported by device.
> 

Aren't you adding the F_STATUS features to this device?

        --yliu

Reply via email to