diff options
| author | Mike Silbersack <silby@FreeBSD.org> | 2001-07-08 02:20:47 +0000 |
|---|---|---|
| committer | Mike Silbersack <silby@FreeBSD.org> | 2001-07-08 02:20:47 +0000 |
| commit | 2d610a5028cb9e22cf4bfb4a007e0da67fcde284 (patch) | |
| tree | fef63dda5be2e0301de334e984f17a9b61cf3d84 /sys/netinet/tcp_seq.h | |
| parent | 4718c85a24311fc5bc8252d62bdbba9daf3ef0f5 (diff) | |
Notes
Diffstat (limited to 'sys/netinet/tcp_seq.h')
| -rw-r--r-- | sys/netinet/tcp_seq.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/sys/netinet/tcp_seq.h b/sys/netinet/tcp_seq.h index 9d4adc8bf78f..930734758dd3 100644 --- a/sys/netinet/tcp_seq.h +++ b/sys/netinet/tcp_seq.h @@ -81,6 +81,24 @@ #ifdef _KERNEL extern tcp_cc tcp_ccgen; /* global connection count */ +/* + * Increment for tcp_iss each second. + * This is designed to increment at the standard 250 KB/s, + * but with a random component averaging 128 KB. + * We also increment tcp_iss by a quarter of this amount + * each time we use the value for a new connection. + * If defined, the tcp_random18() macro should produce a + * number in the range [0-0x3ffff] that is hard to predict. + * + * The variable tcp_iss and tcp_random18() are only used + * by sequence number generation scheme 0. + */ +#ifndef tcp_random18 +#define tcp_random18() (arc4random() & 0x3ffff) +#endif +#define TCP_ISSINCR (122*1024 + tcp_random18()) + +extern tcp_seq tcp_iss; #else #define TCP_ISSINCR (250*1024) /* increment for tcp_iss each second */ #endif /* _KERNEL */ |
