diff options
-rw-r--r-- | sys/netinet6/frag6.c | 2 | ||||
-rw-r--r-- | sys/netinet6/in6_proto.c | 2 | ||||
-rw-r--r-- | sys/netinet6/ip6_var.h | 2 |
3 files changed, 6 insertions, 0 deletions
diff --git a/sys/netinet6/frag6.c b/sys/netinet6/frag6.c index 515a9fb..4285b1f 100644 --- a/sys/netinet6/frag6.c +++ b/sys/netinet6/frag6.c @@ -89,7 +89,9 @@ frag6_init() * as initialization during bootstrap time occur in fixed order. */ microtime(&tv); +#ifndef RANDOM_IP_ID ip6_id = random() ^ tv.tv_usec; +#endif ip6q.ip6q_next = ip6q.ip6q_prev = &ip6q; } diff --git a/sys/netinet6/in6_proto.c b/sys/netinet6/in6_proto.c index 1e8aeac..20a53b3 100644 --- a/sys/netinet6/in6_proto.c +++ b/sys/netinet6/in6_proto.c @@ -299,7 +299,9 @@ int ip6_rr_prune = 5; /* router renumbering prefix * walk list every 5 sec. */ int ip6_v6only = 1; +#ifndef RANDOM_IP_ID u_int32_t ip6_id = 0UL; +#endif int ip6_keepfaith = 0; time_t ip6_log_time = (time_t)0L; diff --git a/sys/netinet6/ip6_var.h b/sys/netinet6/ip6_var.h index f598363..fa32712 100644 --- a/sys/netinet6/ip6_var.h +++ b/sys/netinet6/ip6_var.h @@ -251,7 +251,9 @@ struct ip6aux { #define IPV6_MINMTU 0x04 /* use minimum MTU (IPV6_USE_MIN_MTU) */ extern struct ip6stat ip6stat; /* statistics */ +#ifndef RANDOM_IP_ID extern u_int32_t ip6_id; /* fragment identifier */ +#endif extern int ip6_defhlim; /* default hop limit */ extern int ip6_defmcasthlim; /* default multicast hop limit */ extern int ip6_forwarding; /* act as router? */ |