02/10/2018 12:50, Raslan Darawsheh: > From: Thomas Monjalon <tho...@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?