[dpdk-dev] [PATCH v4 2/2] net/tap: add queues when attaching from secondary process
Ferruh Yigit
ferruh.yigit at intel.com
Wed Oct 3 18:28:06 CEST 2018
On 10/2/2018 12:38 PM, Thomas Monjalon wrote:
> 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?
I think it is good to unregister, but we need to keep number of active tap
devices, so register if "active_tap == 1", unregister when "active_tap == 0" ?
More information about the dev
mailing list