When changing the number of forwarding cores in runtime, two issues may be encountered:
- If the setting nbcore little than current nbcore, the forwarding thread will still running on the extra cores. Therefore, trying to stop forwarding will hang testpmd, since it will wait for the extra cores to stop. - If the setting nbcore greate than actual nbcore, the newly added cores are not allocated resources. This will face the problem of dynamic resource allocation, so it's not allow to changes nbcore number when forwarding is running. Fixes: 0c0db76f42ed ("app/testpmd: separate forward config setup from display") Cc: bernard.iremon...@intel.com Cc: sta...@dpdk.org Signed-off-by: Zhou Zhenghua <zhenghuax.z...@intel.com> --- app/test-pmd/config.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index 1668ae323..e9245053d 100644 --- a/app/test-pmd/config.c +++ b/app/test-pmd/config.c @@ -3504,6 +3504,10 @@ set_fwd_lcores_mask(uint64_t lcoremask) void set_fwd_lcores_number(uint16_t nb_lc) { + if (test_done == 0) { + printf("Please stop forwarding first\n"); + return; + } if (nb_lc > nb_cfg_lcores) { printf("nb fwd cores %u > %u (max. number of configured " "lcores) - ignored\n", -- 2.17.1