19/10/2022 15:20, Bruce Richardson:
> On Wed, Oct 19, 2022 at 02:11:18PM +0100, Bruce Richardson wrote:
> > For historical reasons, a number of net vdev drivers also add a driver
> > alias using the "eth_" prefix. Since this is done on a per-driver basis,
> > the use of the alias in inconsistent and is spread across multiple
> > files. We can remove the per-driver aliases by just adding the alias
> > automatically at the vdev bus level.
> > 
> > Signed-off-by: Bruce Richardson <bruce.richard...@intel.com>
> > ---
> >  drivers/bus/vdev/vdev.c | 6 ++++++
> >  1 file changed, 6 insertions(+)
> > 
> > diff --git a/drivers/bus/vdev/vdev.c b/drivers/bus/vdev/vdev.c
> > index f5b43f1930..bfd7ce60c1 100644
> > --- a/drivers/bus/vdev/vdev.c
> > +++ b/drivers/bus/vdev/vdev.c
> > @@ -54,6 +54,12 @@ static rte_spinlock_t vdev_custom_scan_lock = 
> > RTE_SPINLOCK_INITIALIZER;
> >  void
> >  rte_vdev_register(struct rte_vdev_driver *driver)
> >  {
> > +   /* For net driver vdevs, add an automatic alias using "eth" prefix */
> > +   if (strncmp(driver->driver.name, "net_", 4) == 0 && 
> > driver->driver.alias == NULL) {
> > +           char *alias = strdup(driver->driver.name);
> > +           memcpy(alias, "eth_", 4);
> > +           driver->driver.alias = alias;
> > +   }
> >     TAILQ_INSERT_TAIL(&vdev_driver_list, driver, next);
> >  }
> >  
> 
> As a self-review comment, I realise this solution has got an issue that it
> leaks memory if drivers are constantly being registered or unregistered. I
> find it hard to see situations where this can occur, but it is a potential
> issue.
> 
> A second solution that does not have this problem is to move the aliasing
> to EAL, as below:

Honestly I think the status quo is OK:
We have some aliases in some PMD for some historical reason
and everybody looks OK with that. Isn't it?


Reply via email to