version 1.51, 2001/12/22 01:40:03 |
version 1.52.2.1, 2002/05/30 13:52:32 |
|
|
{ |
{ |
struct ip6protosw *pr; |
struct ip6protosw *pr; |
int i; |
int i; |
struct timeval tv; |
|
|
|
pr = (struct ip6protosw *)pffindproto(PF_INET6, IPPROTO_RAW, SOCK_RAW); |
pr = (struct ip6protosw *)pffindproto(PF_INET6, IPPROTO_RAW, SOCK_RAW); |
if (pr == 0) |
if (pr == 0) |
|
|
ip6intrq.ifq_maxlen = ip6qmaxlen; |
ip6intrq.ifq_maxlen = ip6qmaxlen; |
nd6_init(); |
nd6_init(); |
frag6_init(); |
frag6_init(); |
/* |
ip6_flow_seq = arc4random(); |
* in many cases, random() here does NOT return random number |
|
* as initialization during bootstrap time occur in fixed order. |
|
*/ |
|
microtime(&tv); |
|
ip6_flow_seq = random() ^ tv.tv_usec; |
|
|
|
ip6_init2((void *)0); |
ip6_init2((void *)0); |
|
|
|
|
* support IPv4-less kernel compilation, we cannot support SIIT |
* support IPv4-less kernel compilation, we cannot support SIIT |
* environment at all. So, it makes more sense for us to reject any |
* environment at all. So, it makes more sense for us to reject any |
* malicious packets for non-SIIT environment, than try to do a |
* malicious packets for non-SIIT environment, than try to do a |
* partical support for SIIT environment. |
* partial support for SIIT environment. |
*/ |
*/ |
if (IN6_IS_ADDR_V4MAPPED(&ip6->ip6_src) || |
if (IN6_IS_ADDR_V4MAPPED(&ip6->ip6_src) || |
IN6_IS_ADDR_V4MAPPED(&ip6->ip6_dst)) { |
IN6_IS_ADDR_V4MAPPED(&ip6->ip6_dst)) { |
Line 1517 ip6_sysctl(name, namelen, oldp, oldlenp, |
|
Line 1511 ip6_sysctl(name, namelen, oldp, oldlenp, |
|
} |
} |
return (error); |
return (error); |
#endif |
#endif |
|
case IPV6CTL_MAXFRAGS: |
|
return sysctl_int(oldp, oldlenp, newp, newlen, &ip6_maxfrags); |
default: |
default: |
return EOPNOTSUPP; |
return EOPNOTSUPP; |
} |
} |