On Mon, 8 Aug 2022 11:32:30 +0000
Chaoyong He <[email protected]> wrote:
> > > + goto done;
> > > +
> > > + /* Allocate memory for the eth_dev of the vNIC */
> > > + hw->eth_dev = rte_zmalloc("ctrl_vnic_eth_dev",
> >
> > Why not rte_eth_dev_allocate()? Isn't an ethdev?
> > Why do you bypsss ethdev layer in this case completely and do everything
> > yourself?
>
> Here we created an ethdev locally to nfp PMD, we want the user totally won't
> be aware of it.
> If we use rte_eth_dev_allocate() to create it, it will be in array
> 'rte_ethdev_devices[]', that's not we want.
Having a floating ethdev does open the code and users up to a number of
potential bugs.
What is the value of port_id on that ethdev? What is the mechanism to ensure it
doesn't
conflict with other ones in the system.