-----Original Message-----
From: Stephen Hemminger <stephen@networkplumber.org>
Sent: Friday, March 10, 2023 10:15 PM
To: Ferruh Yigit <ferruh.yigit@amd.com>
Cc: Dumitrescu, Cristian <cristian.dumitrescu@intel.com>; Jangra, Yogesh <yogesh.jangra@intel.com>; Singh, Aman Deep <aman.deep.singh@intel.com>; Zhang, Yuying <yuying.zhang@intel.com>; dev@dpdk.org; R, Kamalakannan <kamalakannan.r@intel.com>; Suresh Narayane, Harshad <harshad.suresh.narayane@intel.com>
Subject: Re: [PATCH] app/testpmd: fix closing softnic port before ethdev ports

 

On Fri, 10 Mar 2023 13:58:52 +0000

Ferruh Yigit <ferruh.yigit@amd.com> wrote:

 

> >>

> >> Why not fix the misbehaving drivers, instead of working around for

> >> softnic, as Stephen suggested?

> >>

> >> Is there a list of problematic drivers?

> >> 

> >

> > Ferruh, I think this is not a reasonable request. We don't have the expertise to fix all drivers, not the hardware to test all drivers.

> >  

>

> Please don't make it over dramatic ;), this is not about having

> expertise in all drivers or having their hardware to test.

>

> You claim some drivers does free up their resources on stop() and

> continue to polling from them cause segfault. Action is move resource

> free from stop() to close().

>

> And my intention was not request a fix from you, if you have any

> particular misbehaving drivers, I can facilitate a fix from those

> driver maintainers.

> Eventually drivers freeing resources in stop() is a bigger problem and

> can hit other applications too, this is not just testpmd problem.

 

Lets all work together to resolve this.

I and others are willing to review and fix drivers you identify as problematic.

If this is a common problem, ideally we can update CI infrastructure to test shutdown and resource issues more thoroughly via ASAN builds etc.

 

 

 

Hi Stephen,

 

I am getting segmentation error while stopping only the physical port .

I run testpmd application using Soft NIC driver. I used one physical port and Soft NIC is running on the top of that.

 

In my scenario, I started the traffic on the port and when I stop the port I am getting segmentation error in rte_eth_rx_burst api.

This shows the order of stopping the port is casing the issue. As stopping the port is not handling the service thread stop.

 

Please refer screenshot for reference.

 

 

Thanks & Regards,

Yogesh