[dpdk-dev] [PATCH 3/6] vhost: add reconnect ability

Xie, Huawei huawei.xie at intel.com
Mon May 9 18:47:02 CEST 2016


On 5/7/2016 2:36 PM, Yuanhan Liu wrote:
> +static void *
> +vhost_user_client_reconnect(void *arg)
> +{
> +	struct reconnect_info *reconn = arg;
> +	int ret;
> +
> +	RTE_LOG(ERR, VHOST_CONFIG, "reconnecting...\n");
> +	while (1) {
> +		ret = connect(reconn->fd, (struct sockaddr *)&reconn->un,
> +				sizeof(reconn->un));
> +		if (ret == 0)
> +			break;
> +		sleep(1);
> +	}
> +
> +	vhost_user_add_connection(reconn->fd, reconn->vsocket);
> +	free(reconn);
> +
> +	return NULL;
> +}
> +

We could create hundreds of vhost-user ports in OVS. Wihout connections
with QEMU established, those ports are just inactive. This works fine in
server mode.
With client modes, do we need to create hundreds of vhost threads? This
would be too interruptible.
How about we create only one thread and do the reconnections for all the
unconnected socket?



More information about the dev mailing list