[dpdk-dev] [PATCH] net/vhost: Initialise vid to -1

Loftus, Ciara ciara.loftus at intel.com
Thu May 3 15:18:18 CEST 2018


> 
> >
> > 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.loftus at 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.coquelin at 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.

Junjie's patches fix the issue I was observing. Thanks Junjie!
https://dpdk.org/browse/dpdk/commit/?id=30a701a53737a0b6f7953412cc3b3d36c1d49122
https://dpdk.org/browse/dpdk/commit/?id=e6722dee533cda3756fbc5c9ea4ddfbf30276f1b

Along with the v2 of this patch could they be considered for the 17.11 stable branch?

Thanks,
Ciara

> 
> Thanks,
> Ciara


More information about the dev mailing list