Type: fix
With a release build, if you configure more than 55 workers, vpp
will start, but will corrupt memory as a lot of internal datastrctures
are allocated with assumption that there will be not more than
FRAME_QUEUE_MAX_NELTS threads.
Add a warning if amount of configured workers more than MAX_NELTS.
Anticipate that next commit would add a compile-time configurable
variable and name it VPP_MAX_THREADS.
Change-Id: I015f4f9aa5e8b828c7d90c90142d7a7c1ce68f97
Signed-off-by: Vladimir Smirnov <[email protected]>
tr->first_index = first_index;
first_index += tr->count;
n_vlib_mains += (tr->no_data_structure_clone == 0) ? tr->count : 0;
+ if (n_vlib_mains >= FRAME_QUEUE_MAX_NELTS)
+ return clib_error_return (0,
+ "configured amount of workers %u is"
+ " greater than VPP_MAX_WORKERS (%u)",
+ n_vlib_mains, FRAME_QUEUE_MAX_NELTS);
/* construct coremask */
if (tr->use_pthreads || !tr->count)