Hi Chas,

On 10/05/2015 05:26 PM, Chas Williams wrote:
> If a system is using deterministic interface names, it may be easier in
> some cases to use the interface name to blacklist an interface.
> 
> Signed-off-by: Chas Williams <3chas3 at gmail.com>
> ---
>  app/test/test_devargs.c                     |  2 ++
>  lib/librte_eal/common/eal_common_devargs.c  |  9 +++++++--
>  lib/librte_eal/common/eal_common_options.c  |  2 +-
>  lib/librte_eal/common/eal_common_pci.c      | 10 ++++++++--
>  lib/librte_eal/common/include/rte_devargs.h |  2 ++
>  lib/librte_eal/common/include/rte_pci.h     |  1 +
>  lib/librte_eal/linuxapp/eal/eal_pci.c       | 15 +++++++++++++++
>  7 files changed, 36 insertions(+), 5 deletions(-)
> 
> diff --git a/app/test/test_devargs.c b/app/test/test_devargs.c
> index f7fc59c..27855ff 100644

> 
> [...]
> 

> @@ -352,6 +354,19 @@ pci_scan_one(const char *dirname, uint16_t domain, 
> uint8_t bus,
>               return -1;
>       }
>  
> +     /* get network interface name */
> +     snprintf(filename, sizeof(filename), "%s/net", dirname);
> +     dir = opendir(filename);
> +     if (dir) {
> +             while ((e = readdir(dir)) != NULL) {
> +                     if (e->d_name[0] == '.')
> +                             continue;
> +
> +                     strncpy(dev->name, e->d_name, sizeof(dev->name));
> +             }
> +             closedir(dir);
> +     }
> +
>       if (!ret) {
>               if (!strcmp(driver, "vfio-pci"))
>                       dev->kdrv = RTE_KDRV_VFIO;
> 

For PCI devices that have several interfaces (I think it's the case for
some Mellanox boards), maybe we should not store the interface name?

Another small comment about the strncpy(): it's maybe safer to ensure
that dev->name is properly nul-terminated.

Regards,
Olivier

Reply via email to