@Stephen Hemminger<mailto:step...@networkplumber.org> This is process private 
as the tap fds are maintained in per process data structures. In existing 
scheme, the fds are opened by the primary during queue setup and exchanged to 
during secondary probe where the send_msg using SOL_SOCKET and SCM_RIGHTS would 
remap the corresponding fds to the secondary process. If the secondary process 
is coming up once the primary is initialised things would work fine, but it's a 
problem during hotplug of the tap device.

Thanks,
Param.
________________________________
From: Stephen Hemminger <step...@networkplumber.org>
Sent: 18 January 2022 03:46
To: Kumara Parameshwaran <kumaraparames...@gmail.com>
Cc: keith.wi...@intel.com <keith.wi...@intel.com>; dev@dpdk.org <dev@dpdk.org>; 
Kumara Parameshwaran <kparamesh...@vmware.com>
Subject: Re: [PATCH] net/tap: Bug fix to populate fds in secondary process

On Fri, 26 Nov 2021 09:45:15 +0530
Kumara Parameshwaran <kumaraparames...@gmail.com> wrote:

> +     ret = rte_eth_dev_get_port_by_name(request_param->port_name, &port_id);
> +     if (ret) {
> +             TAP_LOG(ERR, "Failed to get port id for %s",
> +                     request_param->port_name);
> +             return -1;
> +     }
> +     dev = &rte_eth_devices[port_id];
> +     process_private = dev->process_private;
> +     dev->data->nb_rx_queues = request_param->rxq_count;
> +     dev->data->nb_tx_queues = request_param->txq_count;

Why is this necessary?  dev->data is already in memory shared between primary
and secondary process.

Reply via email to