[dpdk-dev] [PATCH v4 2/2] net/tap: add queues when attaching from secondary process

Thomas Monjalon thomas at monjalon.net
Tue Oct 2 13:38:09 CEST 2018


02/10/2018 12:50, Raslan Darawsheh:
> From: Thomas Monjalon <thomas at monjalon.net> 
> > 02/10/2018 12:34, Raslan Darawsheh:
> > > @@ -2056,6 +2179,13 @@ rte_pmd_tap_probe(struct rte_vdev_device *dev)
> > > 
> > >         TAP_LOG(NOTICE, "Initializing pmd_tap for %s as %s",
> > >         
> > >                 name, tap_name);
> > > 
> > > +       /* Register IPC feed callback */
> > > +       ret = rte_mp_action_register(TAP_MP_KEY, tap_mp_sync_queues);
> > > +       if (ret < 0 && rte_errno != EEXIST) {
> > > +               TAP_LOG(ERR, "%s: Failed to register IPC callback: %s",
> > > +                       tuntap_name, strerror(rte_errno));
> > > +               goto leave;
> > > +       }
> > > 
> > >         ret = eth_dev_tap_create(dev, tap_name, remote_iface, &user_mac,
> > >         
> > >                 ETH_TUNTAP_TYPE_TAP);
> > 
> > Is it an issue registering tap_mp_sync_queues at each tap probing?
> > Should we do it only once?
> 
> It should be as of per device so we should do it for each port alone since several ports can have different queues.
> 
> Moreover, if the port that has the registration was closed or unplugged we'll not be able to sync qeues for other ports. 

I think we should do register on first tap device probing and never unregisters.

Ferruh, any opinion?




More information about the dev mailing list