On 10/20/2022 9:48 AM, Bruce Richardson wrote:
On Thu, Oct 20, 2022 at 10:23:27AM +0200, Thomas Monjalon wrote:
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?


Well, the inconsistency bugs me a little, but if others feel the status quo
is ok, I'm ok with that.

In my perspective this is for cleanup, and new PMDs keep adding alias because they are copying from existing drivers.
Except from above there is no harm to have alias.

Reply via email to