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

Reply via email to