| version 1.150, 2002/05/12 20:33:50 |
version 1.150.2.1, 2002/06/20 15:52:21 |
|
|
| /* |
/* |
| * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. |
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. |
| * All rights reserved. |
* All rights reserved. |
| * |
* |
| * Redistribution and use in source and binary forms, with or without |
* Redistribution and use in source and binary forms, with or without |
| * modification, are permitted provided that the following conditions |
* modification, are permitted provided that the following conditions |
| * are met: |
* are met: |
|
|
| * 3. Neither the name of the project nor the names of its contributors |
* 3. Neither the name of the project nor the names of its contributors |
| * may be used to endorse or promote products derived from this software |
* may be used to endorse or promote products derived from this software |
| * without specific prior written permission. |
* without specific prior written permission. |
| * |
* |
| * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND |
* THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND |
| * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| Line 168 __KERNEL_RCSID(0, "$NetBSD$"); |
|
| Line 168 __KERNEL_RCSID(0, "$NetBSD$"); |
|
| #define IPALLOWSRCRT 1 /* allow source-routed packets */ |
#define IPALLOWSRCRT 1 /* allow source-routed packets */ |
| #endif |
#endif |
| #ifndef IPMTUDISC |
#ifndef IPMTUDISC |
| #define IPMTUDISC 0 |
#define IPMTUDISC 1 |
| #endif |
#endif |
| #ifndef IPMTUDISCTIMEOUT |
#ifndef IPMTUDISCTIMEOUT |
| #define IPMTUDISCTIMEOUT (10 * 60) /* as per RFC 1191 */ |
#define IPMTUDISCTIMEOUT (10 * 60) /* as per RFC 1191 */ |
|
|
| in_ifaddrhashtbl = hashinit(IN_IFADDR_HASH_SIZE, HASH_LIST, M_IFADDR, |
in_ifaddrhashtbl = hashinit(IN_IFADDR_HASH_SIZE, HASH_LIST, M_IFADDR, |
| M_WAITOK, &in_ifaddrhash); |
M_WAITOK, &in_ifaddrhash); |
| if (ip_mtudisc != 0) |
if (ip_mtudisc != 0) |
| ip_mtudisc_timeout_q = |
ip_mtudisc_timeout_q = |
| rt_timer_queue_create(ip_mtudisc_timeout); |
rt_timer_queue_create(ip_mtudisc_timeout); |
| #ifdef GATEWAY |
#ifdef GATEWAY |
| ipflow_init(); |
ipflow_init(); |
| Line 1662 ip_forward(m, srcrt) |
|
| Line 1662 ip_forward(m, srcrt) |
|
| ro = &sp->req->sav->sah->sa_route; |
ro = &sp->req->sav->sah->sa_route; |
| if (ro->ro_rt && ro->ro_rt->rt_ifp) { |
if (ro->ro_rt && ro->ro_rt->rt_ifp) { |
| dummyifp.if_mtu = |
dummyifp.if_mtu = |
| |
ro->ro_rt->rt_rmx.rmx_mtu ? |
| |
ro->ro_rt->rt_rmx.rmx_mtu : |
| ro->ro_rt->rt_ifp->if_mtu; |
ro->ro_rt->rt_ifp->if_mtu; |
| dummyifp.if_mtu -= ipsechdr; |
dummyifp.if_mtu -= ipsechdr; |
| destifp = &dummyifp; |
destifp = &dummyifp; |
| Line 1805 ip_sysctl(name, namelen, oldp, oldlenp, |
|
| Line 1807 ip_sysctl(name, namelen, oldp, oldlenp, |
|
| error = sysctl_int(oldp, oldlenp, newp, newlen, |
error = sysctl_int(oldp, oldlenp, newp, newlen, |
| &ip_mtudisc); |
&ip_mtudisc); |
| if (ip_mtudisc != 0 && ip_mtudisc_timeout_q == NULL) { |
if (ip_mtudisc != 0 && ip_mtudisc_timeout_q == NULL) { |
| ip_mtudisc_timeout_q = |
ip_mtudisc_timeout_q = |
| rt_timer_queue_create(ip_mtudisc_timeout); |
rt_timer_queue_create(ip_mtudisc_timeout); |
| } else if (ip_mtudisc == 0 && ip_mtudisc_timeout_q != NULL) { |
} else if (ip_mtudisc == 0 && ip_mtudisc_timeout_q != NULL) { |
| rt_timer_queue_destroy(ip_mtudisc_timeout_q, TRUE); |
rt_timer_queue_destroy(ip_mtudisc_timeout_q, TRUE); |
| Line 1842 ip_sysctl(name, namelen, oldp, oldlenp, |
|
| Line 1844 ip_sysctl(name, namelen, oldp, oldlenp, |
|
| error = sysctl_int(oldp, oldlenp, newp, newlen, |
error = sysctl_int(oldp, oldlenp, newp, newlen, |
| &ip_mtudisc_timeout); |
&ip_mtudisc_timeout); |
| if (ip_mtudisc_timeout_q != NULL) |
if (ip_mtudisc_timeout_q != NULL) |
| rt_timer_queue_change(ip_mtudisc_timeout_q, |
rt_timer_queue_change(ip_mtudisc_timeout_q, |
| ip_mtudisc_timeout); |
ip_mtudisc_timeout); |
| return (error); |
return (error); |
| #ifdef GATEWAY |
#ifdef GATEWAY |