[dpdk-dev] 回复: [PATCH] driver/net/pcap fix: pcap fd leak

张 杨 zypscode at outlook.com
Fri Feb 26 18:47:01 CET 2021

I think your idea is fine

What do you think just record file path in "pmd_pcap_probe()",
Perform an open operation only in "eth_dev_start()"?

When the secondary process add pcap vdev,
it send the request to primary process,
the primary process probe pcap vdev too ,
Both the two process open the same file (in function "pmd_pcap_probe()")
It's not necessary

I prefer "ZhangTengfei <zypscode at outlook.com>" sign (this one)

发送自 Windows 10 版邮件<https://go.microsoft.com/fwlink/?LinkId=550986>应用

发件人: Ferruh Yigit<mailto:ferruh.yigit at intel.com>
发送时间: 2021年2月27日 0:46
收件人: ZhangTengfei<mailto:zypscode at outlook.com>
抄送: dev at dpdk.org<mailto:dev at dpdk.org>
主题: Re: [PATCH] driver/net/pcap fix: pcap fd leak

On 2/26/2021 4:20 PM, ZhangTengfei wrote:
> pcap fd was opend when vdev probed,
> but not closed when vdev removed.
> This bug appears in dpdk-pdump
> Signed-off-by: ZhangTengfei <zypscode at outlook.com>
> ---
>   drivers/net/pcap/rte_eth_pcap.c | 1 +
>   1 file changed, 1 insertion(+)
> diff --git a/drivers/net/pcap/rte_eth_pcap.c b/drivers/net/pcap/rte_eth_pcap.c
> index 90f5d75ea..fb01ea924 100644
> --- a/drivers/net/pcap/rte_eth_pcap.c
> +++ b/drivers/net/pcap/rte_eth_pcap.c
> @@ -1597,6 +1597,7 @@ pmd_pcap_remove(struct rte_vdev_device *dev)
>        if (eth_dev == NULL)
>                return 0; /* port already released */
> +     eth_dev_stop(eth_dev);
>        eth_dev_close(eth_dev);
>        rte_eth_dev_release_port(eth_dev);

Thanks for the fix,
the cleanup seems missing in 'eth_dev_close()' too, what do you think moving
'eth_dev_stop(eth_dev);' inside the 'eth_dev_close()'?
So both 'close' and 'remove' will be covered.

Btw, you have same patch with both "ZhangTengfei <zhangtengfei at oppo.com>" sign
and "ZhangTengfei <zypscode at outlook.com>" sign (this one), can you please
clarify which one do you prefer?

More information about the dev mailing list