[dpdk-dev] [PATCH v8 2/2] examples/vdpa: introduce a new sample for vDPA

Ferruh Yigit ferruh.yigit at intel.com
Tue Oct 2 16:03:39 CEST 2018


On 9/28/2018 10:47 PM, Xiaolong Ye wrote:
> The vdpa sample application creates vhost-user sockets by using the
> vDPA backend. vDPA stands for vhost Data Path Acceleration which utilizes
> virtio ring compatible devices to serve virtio driver directly to enable
> datapath acceleration. As vDPA driver can help to set up vhost datapath,
> this application doesn't need to launch dedicated worker threads for vhost
> enqueue/dequeue operations.
> 
> Signed-off-by: Xiaolong Ye <xiaolong.ye at intel.com>
> Acked-by: Xiao Wang <xiao.w.wang at intel.com>
> Reviewed-by: Maxime Coquelin <maxime.coquelin at redhat.com>

<...>

> +static int
> +parse_args(int argc, char **argv)
> +{
> +	static const char *short_option = "i";
> +	static struct option long_option[] = {
> +		{"iface", required_argument, NULL, 0},
> +		{"interactive", no_argument, &interactive, 1},
> +		{"client", no_argument, &client_mode, 1},
> +		{NULL, 0, 0, 0},
> +	};
> +	int opt, idx;
> +	char *prgname = argv[0];
> +
> +	while ((opt = getopt_long(argc, argv, short_option, long_option, &idx))
> +			!= EOF) {
> +		switch (opt) {
> +		case 'i':
> +			printf("Interactive-mode selected\n");
> +			interactive = 1;
> +			break;
> +		/* long options */
> +		case 0:
> +			if (strncmp(long_option[idx].name, "iface",
> +						MAX_PATH_LEN) == 0) {
> +				strncpy(iface, optarg, MAX_PATH_LEN);

Giving compiler warning [1], rte_strscpy() is safer to use.

[1]
In function ‘parse_args’,



    inlined from ‘main’ at .../examples/vdpa/main.c:419:8:



.../examples/vdpa/main.c:76:5: error: ‘strncpy’ specified bound 128 equals
destination size [-Werror=stringop-truncation]


     strncpy(iface, optarg, MAX_PATH_LEN);



     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


More information about the dev mailing list