diff options
| author | Martin Vahlensieck <git@academicsolutions.ch> | 2024-04-17 18:59:22 +0000 |
|---|---|---|
| committer | Mark Johnston <markj@FreeBSD.org> | 2024-04-24 12:44:50 +0000 |
| commit | a3ecf8c7863683e53c77a17f96ab7012352265b9 (patch) | |
| tree | a31060cd57c5dab9ac51838a5e41fb60db8ee5aa /sys/netgraph | |
| parent | bb2ab7a374b9d81f8368acc506c9700af20a22d6 (diff) | |
Diffstat (limited to 'sys/netgraph')
| -rw-r--r-- | sys/netgraph/ng_pipe.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/netgraph/ng_pipe.c b/sys/netgraph/ng_pipe.c index 7afaf24f5914..d368c142b1ab 100644 --- a/sys/netgraph/ng_pipe.c +++ b/sys/netgraph/ng_pipe.c @@ -44,6 +44,7 @@ #include <sys/kernel.h> #include <sys/malloc.h> #include <sys/mbuf.h> +#include <sys/prng.h> #include <sys/time.h> #include <vm/uma.h> @@ -771,7 +772,7 @@ pipe_dequeue(struct hookinfo *hinfo, struct timeval *now) { * the original packet... */ if (hinfo->cfg.duplicate && - random() % 100 <= hinfo->cfg.duplicate) { + prng32_bounded(100) <= hinfo->cfg.duplicate) { ngp_h = uma_zalloc(ngp_zone, M_NOWAIT); KASSERT(ngp_h != NULL, ("ngp_h zalloc failed (3)")); m = m_dup(m, M_NOWAIT); @@ -814,7 +815,7 @@ pipe_dequeue(struct hookinfo *hinfo, struct timeval *now) { /* Randomly discard the frame, according to BER setting */ if (hinfo->cfg.ber) { oldrand = rand; - rand = random(); + rand = prng32_bounded(1U << 31); if (((oldrand ^ rand) << 17) >= hinfo->ber_p[priv->overhead + m->m_pkthdr.len]) { hinfo->stats.out_disc_frames++; |
