On Tue, 18 Jan 2022 05:22:19 +0000
Kumara Parameshwaran <kparamesh...@vmware.com> wrote:

> @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.

The question is about the two assignments that happen in secondary proces
that change dev->data->nb_rx_queues and dev->data->nb_tx_queues.  These are
shared and should not need to be modified here.

Reply via email to