> From: Stephen Hemminger [mailto:[email protected]]
> Sent: Saturday, 12 September 2026 00.59
> 
> Many performance tests use rte_rand() and the random number
> can perturb the results. Add an ability to overide the automatic
> random seed on DPDK startup.
> 
> This is not a security problem since rte_rand() is documented
> as not being cryptographically secure.
> 
> Signed-off-by: Stephen Hemminger <[email protected]>
> ---
>  lib/eal/common/rte_random.c | 13 ++++++++++++-
>  1 file changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/eal/common/rte_random.c b/lib/eal/common/rte_random.c
> index 576a32a46c..cdad60049b 100644
> --- a/lib/eal/common/rte_random.c
> +++ b/lib/eal/common/rte_random.c
> @@ -247,7 +247,18 @@ eal_rand_init(void)
> 
>       RTE_LCORE_VAR_ALLOC(rand_state);
> 
> -     seed = __rte_random_initial_seed();
> +     const char *env = getenv("DPDK_RANDOM_SEED");
> +     if (env != NULL && *env != '\0') {
> +             char *end;
> +
> +             errno = 0;
> +             seed = strtoull(env, &end, 0);
> +             if (errno != 0 || *end != '\0')
> +                     rte_exit(EXIT_FAILURE,
> +                              "invalid DPDK_RANDOM_SEED: %s\n", env);
> +     } else {
> +             seed = __rte_random_initial_seed();
> +     }
> 
>       rte_srand(seed);
>  }
> --
> 2.53.0

Might be useful.
Reviewed-by: Morten Brørup <[email protected]>

Reply via email to