app/testpmd: do not allow dynamic change of core number
authorZhenghua Zhou <zhenghuax.zhou@intel.com>
Tue, 27 Oct 2020 06:42:52 +0000 (06:42 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 3 Nov 2020 22:35:07 +0000 (23:35 +0100)
When the number of forwarding cores changed in runtime, the issue may
be encountered:
If the nbcore set 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.

So do not allow to change nbcore number when forwarding is running.

Fixes: 0c0db76f42ed ("app/testpmd: separate forward config setup from display")
Cc: stable@dpdk.org
Signed-off-by: Zhenghua Zhou <zhenghuax.zhou@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
app/test-pmd/config.c

index 136f4e5..755d1df 100644 (file)
@@ -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",