Skip to content

Commit 6b0b55e

Browse files
committed
Add constant that results in getrandom() being used to generate seed for complete randomness.
1 parent a04363a commit 6b0b55e

File tree

2 files changed

+12
-9
lines changed

2 files changed

+12
-9
lines changed

src/sequence.c

+10-9
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
#include <csum.h>
44

5+
#ifdef VERY_RANDOM
6+
#include <sys/random.h>
7+
#endif
8+
59
pthread_t threads[MAX_THREADS];
610
int thread_cnt = 0;
711

@@ -429,15 +433,12 @@ void *thread_hdl(void *temp)
429433
// Retrieve current time since boot.
430434
clock_gettime(CLOCK_BOOTTIME, &ts);
431435

432-
// Generate seed (we use nanoseconds for better precision/randomness).
433-
seed = ts.tv_nsec;
434-
435-
// Add some more randomness if track is enabled.
436-
if (ti->seq.track)
437-
{
438-
seed ^= total_pckts[ti->seq_cnt];
439-
}
440-
436+
// Generate seed.
437+
#ifdef VERY_RANDOM
438+
getrandom(&seed, sizeof(seed), 0);
439+
#else
440+
seed = ts.tv_nsec;
441+
#endif
441442
// Check if we need to generate random IP TTL.
442443
if (ti->seq.ip.min_ttl != ti->seq.ip.max_ttl)
443444
{

src/sequence.h

+2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@
3333
#include "af_xdp.h"
3434
#include "main.h"
3535

36+
//#define VERY_RANDOM
37+
3638
#define MAX_PCKT_LEN 0xFFFF
3739
#define MAX_THREADS 4096
3840
#define MAX_NAME_LEN 64

0 commit comments

Comments
 (0)