diff options
author | ume <ume@FreeBSD.org> | 2003-10-01 21:24:28 +0000 |
---|---|---|
committer | ume <ume@FreeBSD.org> | 2003-10-01 21:24:28 +0000 |
commit | dff1ad31d578de8652ddb2af57b20afeef17161b (patch) | |
tree | 40cbf0f17e6e447a893c3c70e1a6ee492c6a779e /sys/netinet6/in6_pcb.c | |
parent | 1510816eb2189f841fa0c9d83a1491b4e9228642 (diff) | |
download | FreeBSD-src-dff1ad31d578de8652ddb2af57b20afeef17161b.zip FreeBSD-src-dff1ad31d578de8652ddb2af57b20afeef17161b.tar.gz |
randomize IPv6 flowlabel when RANDOM_IP_ID is defined.
Obtained from: KAME
Diffstat (limited to 'sys/netinet6/in6_pcb.c')
-rw-r--r-- | sys/netinet6/in6_pcb.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index ab59d52..f160661 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -69,6 +69,7 @@ #include "opt_inet.h" #include "opt_inet6.h" #include "opt_ipsec.h" +#include "opt_random_ip_id.h" #include <sys/param.h> #include <sys/systm.h> @@ -402,7 +403,11 @@ in6_pcbconnect(inp, nam, td) inp->in6p_flowinfo &= ~IPV6_FLOWLABEL_MASK; if (inp->in6p_flags & IN6P_AUTOFLOWLABEL) inp->in6p_flowinfo |= +#ifdef RANDOM_IP_ID + (htonl(ip6_randomflowlabel()) & IPV6_FLOWLABEL_MASK); +#else (htonl(ip6_flow_seq++) & IPV6_FLOWLABEL_MASK); +#endif in_pcbrehash(inp); return (0); |