[dpdk-dev] [PATCH] app/testpmd: avoid exit without resource release

Yu, DapengX dapengx.yu at intel.com
Fri Dec 25 06:09:10 CET 2020


Hi Stephen,

Do you mean this solution?
1. support atexit() in librte_eal, other component can use it to register a function to be called when rte_exit() is called.
2. in librte_cmdline, use atexit() to register a function to release resource 

I am looking forward to more comments from other maintainers, since this solution will modify librte_eal and librte_cmdline, but not just testpmd app.


-----Original Message-----
From: Stephen Hemminger [mailto:stephen at networkplumber.org] 
Sent: Friday, December 25, 2020 11:03 AM
To: Yu, DapengX <dapengx.yu at intel.com>
Cc: Lu, Wenzhuo <wenzhuo.lu at intel.com>; Xing, Beilei <beilei.xing at intel.com>; Iremonger, Bernard <bernard.iremonger at intel.com>; dev at dpdk.org; stable at dpdk.org
Subject: Re: [dpdk-dev] [PATCH] app/testpmd: avoid exit without resource release

On Thu, 24 Dec 2020 11:57:48 +0800
dapengx.yu at intel.com wrote:

> From: YU DAPENG <dapengx.yu at intel.com>
> 
> In interactive mode, if testpmd exit by calling rte_exit without 
> cmdline resource release, terminal will not echo keyboard input. So 
> add code to just show error message, but not exit testpmd when 
> unexpected happens on starting packet forwarding in interactive mode. User can type "quit"
> to exit testpmd later.
> 
> Fixes: 5a8fb55c48ab ("app/testpmd: support unidirectional 
> configuration")
> Cc: stable at dpdk.org
> 
> Signed-off-by: YU DAPENG <dapengx.yu at intel.com>

Sounds like a more generic problem with rte_exit and librte_cmdline.
Would it better to fix it in librte_cmdline by adding an atexit() handler.



More information about the dev mailing list