[PATCH v3] app/testpmd: stop secondary process fwd_lcores during primary teardown

Stephen Hemminger stephen at networkplumber.org
Mon Sep 15 17:43:44 CEST 2025


On Mon, 15 Sep 2025 04:25:13 -0700
Khadem Ullah <14pwcse1224 at uetpeshawar.edu.pk> wrote:

> +#ifndef RTE_EXEC_ENV_WINDOWS
> +		if (rte_eal_process_type() == RTE_PROC_PRIMARY) {
> +			printf("Stopping secondary process...\n");
> +			struct eal_dev_mp_req req;
> +			memset(&req, 0, sizeof(req));
> +			req.t = EAL_DEV_REQ_TYPE_STOP;
> +			eal_dev_hotplug_request_to_secondary(&req);
> +		}
> +#endif
>  		}

This could be improved:
	1. The structure can just be iniatialised as:
		struct eal_dev_mp_req req = { .t = EAL_DEV_REQ_TYPE_STOP };
	2. Check the result of sending request to secondary

	3. This is really a different MP request path, please don't
	   overload hotplug for this. Register a new type with rte_mp_action_register()

        4. If done right, you should be able to drop the #ifdef around WINDOWS.
           For now, there will be no secondary on Windows so the request to send
           will just succeed as a nop.


The other issue is that stopping the secondary would be faster if you
used existing f_stop flag to break out of the forwarding loop.


More information about the stable mailing list