On Mon, May 23, 2016 at 06:06:21PM +0100, Ferruh Yigit wrote: > On 5/23/2016 2:24 PM, Yuanhan Liu wrote: > > On Fri, May 20, 2016 at 11:37:47AM +0100, Bruce Richardson wrote: > >> On Thu, May 19, 2016 at 06:44:44PM +0200, Thomas Monjalon wrote: > >>> 2016-05-19 17:28, Ferruh Yigit: > >>>> On 5/19/2016 9:33 AM, Thomas Monjalon wrote: > >>>>> 2016-05-18 18:10, Ferruh Yigit: > >>>>>> Add rte_eth_from_vhost() API to create vhost PMD dynamically from > >>>>>> applications. > >>>>> > >>>>> How is it different from rte_eth_dev_attach() calling > >>>>> rte_eal_vdev_init()? > >>>>> > >>>> > >>>> When used rte_eth_dev_attach(), application also needs to do: > >>>> rte_eth_dev_configure() > >>>> rte_eth_rx_queue_setup() > >>>> rte_eth_tx_queue_setup() > >>>> rte_eth_dev_start() > >>>> > >>>> rte_eth_from_vhost() does these internally, easier to use for > >>>> applications. > >>> > >>> This argument is not sufficient. > >>> We are not going to add new APIs just for wrapping others. > >> > >> Why not - if there is a sufficient increase in developer usability by > >> doing so? > >> Having one API that saves an app from having to call 5 other APIs looks > >> like > >> something that should always be given fair consideration. > > > > Good point. Judging that vhost is not the only virtual device we > > support, and it may also look reasonable to add something similar > > for others in future (say, IIRC, you proposed two more internally > > that also introduced similar APIs). So, instead of introducing a > > new API for each such vdev, may we introduce a common one? Say, > > a refined rte_eth_dev_attach(), including dev_configure(), > > queue_setup(), etc. > > > > This sounds good to me. If there is not objection, I will send a patch > and we can discuss based on patch.
Let's wait and gather some comments first? --yliu > Something like: rte_eth_dev_attach_and_setup() > > Regards, > ferruh