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: [email protected]
Cc: [email protected]
Signed-off-by: Zhou Zhenghua <[email protected]>
---
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