[dpdk-dev] [PATCH v2 12/18] eal: add generic device declaration parameter

Shreyansh Jain shreyansh.jain at nxp.com
Wed Dec 13 15:26:42 CET 2017


On Thursday 12 October 2017 01:51 PM, Gaetan Rivet wrote:
> Add a new generic device declaration parameter:
> 
>     --dev=<device_declaration>
> 

[...]

> 
> diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
> index 603df27..b7591fd 100644
> --- a/lib/librte_eal/common/eal_common_options.c
> +++ b/lib/librte_eal/common/eal_common_options.c
> @@ -95,6 +95,7 @@ eal_long_options[] = {
>   	{OPT_PROC_TYPE,         1, NULL, OPT_PROC_TYPE_NUM        },
>   	{OPT_SOCKET_MEM,        1, NULL, OPT_SOCKET_MEM_NUM       },
>   	{OPT_SYSLOG,            1, NULL, OPT_SYSLOG_NUM           },
> +	{OPT_DEV,               1, NULL, OPT_DEV_NUM              },
>   	{OPT_VDEV,              1, NULL, OPT_VDEV_NUM             },
>   	{OPT_VFIO_INTR,         1, NULL, OPT_VFIO_INTR_NUM        },
>   	{OPT_VMWARE_TSC_MAP,    0, NULL, OPT_VMWARE_TSC_MAP_NUM   },
> @@ -1120,6 +1121,21 @@ eal_parse_common_option(int opt, const char *optarg,
>   		}
>   		break;
>   
> +	case OPT_DEV_NUM: {
> +		struct rte_devargs da;
> +		int ret;
> +
> +		if (rte_eal_devargs_parse(&da, optarg) < 0)
> +			return -1;
> +		ret = rte_bus_probe_mode_set(da.bus->name,
> +					RTE_BUS_PROBE_WHITELIST);
> +		if (ret < 0 && ret != -ENOTSUP)
> +			return -1;
> +		if (eal_option_device_add(NULL, optarg) < 0)
> +			return -1;
> +	}

Might be a naive question: Any specific reason why we don't add the 
devices directly into devargs_list here (eal_parse_args -> 
eal_parse_common_option -> OPT_DEV ->) rather than wait for eal to call 
eal_option_device_parse again?

Is it to allow eal_plugins_init() to finish?

> +		break;
> +
>   	case OPT_VDEV_NUM:
>   		if (eal_option_device_add("vdev", optarg) < 0)
>   			return -1;

[...]



More information about the dev mailing list