> 
> On 04/27/2018 04:19 PM, Ciara Loftus wrote:
> > rte_eth_vhost_get_vid_from_port_id returns a value of 0 if called before
> > the first call to the new_device callback. A vid value >=0 suggests the
> > device is active which is not the case in this instance. Initialise vid
> > to a negative value to prevent this.
> >
> > Signed-off-by: Ciara Loftus <ciara.lof...@intel.com>
> > ---
> >   drivers/net/vhost/rte_eth_vhost.c | 1 +
> >   1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/net/vhost/rte_eth_vhost.c
> b/drivers/net/vhost/rte_eth_vhost.c
> > index 99a7727..f47950c 100644
> > --- a/drivers/net/vhost/rte_eth_vhost.c
> > +++ b/drivers/net/vhost/rte_eth_vhost.c
> > @@ -1051,6 +1051,7 @@ eth_rx_queue_setup(struct rte_eth_dev *dev,
> uint16_t rx_queue_id,
> >             return -ENOMEM;
> >     }
> >
> > +   vq->vid = -1;
> >     vq->mb_pool = mb_pool;
> >     vq->virtqueue_id = rx_queue_id * VIRTIO_QNUM + VIRTIO_TXQ;
> >     dev->data->rx_queues[rx_queue_id] = vq;
> >
> 
> Reviewed-by: Maxime Coquelin <maxime.coque...@redhat.com>
> 
> Thanks,
> Maxime

On second thoughts, self-NACK.

We need to provision for the case where we want to call eth_rx_queue_setup 
AFTER new_device. For instance when we want to change the mb_pool. In this case 
we need to maintain the same vid and not reset it to -1.

Without this patch the original problem still exists and need to find an 
alternative workaround.

Thanks,
Ciara

Reply via email to