| version 1.224.2.5, 2006/09/14 12:31:55 |
version 1.225, 2006/04/15 02:24:12 |
| Line 121 __KERNEL_RCSID(0, "$NetBSD$"); |
|
| Line 121 __KERNEL_RCSID(0, "$NetBSD$"); |
|
| #include <sys/kernel.h> |
#include <sys/kernel.h> |
| #include <sys/pool.h> |
#include <sys/pool.h> |
| #include <sys/sysctl.h> |
#include <sys/sysctl.h> |
| #include <sys/kauth.h> |
|
| |
|
| #include <net/if.h> |
#include <net/if.h> |
| #include <net/if_dl.h> |
#include <net/if_dl.h> |
|
|
| for (i = 0; i < IPREASS_NHASH; i++) |
for (i = 0; i < IPREASS_NHASH; i++) |
| LIST_INIT(&ipq[i]); |
LIST_INIT(&ipq[i]); |
| |
|
| ip_id = time_second & 0xfffff; |
ip_id = time.tv_sec & 0xfffff; |
| |
|
| ipintrq.ifq_maxlen = ipqmaxlen; |
ipintrq.ifq_maxlen = ipqmaxlen; |
| ip_nmbclusters_changed(); |
ip_nmbclusters_changed(); |
|
|
| #endif /* MBUFTRACE */ |
#endif /* MBUFTRACE */ |
| } |
} |
| |
|
| struct sockaddr_in ipaddr = { |
struct sockaddr_in ipaddr = { sizeof(ipaddr), AF_INET }; |
| .sin_len = sizeof(ipaddr), |
|
| .sin_family = AF_INET, |
|
| }; |
|
| struct route ipforward_rt; |
struct route ipforward_rt; |
| |
|
| /* |
/* |
|
|
| goto bad; |
goto bad; |
| } |
} |
| #endif |
#endif |
| #ifdef FAST_IPSEC |
#if FAST_IPSEC |
| /* |
/* |
| * enforce IPsec policy checking if we are seeing last header. |
* enforce IPsec policy checking if we are seeing last header. |
| * note that we do not visit this with protocols with pcb layer |
* note that we do not visit this with protocols with pcb layer |
| Line 2097 ip_savecontrol(struct inpcb *inp, struct |
|
| Line 2093 ip_savecontrol(struct inpcb *inp, struct |
|
| } |
} |
| |
|
| /* |
/* |
| * sysctl helper routine for net.inet.ip.forwsrcrt. |
|
| */ |
|
| static int |
|
| sysctl_net_inet_ip_forwsrcrt(SYSCTLFN_ARGS) |
|
| { |
|
| int error, tmp; |
|
| struct sysctlnode node; |
|
| |
|
| node = *rnode; |
|
| tmp = ip_forwsrcrt; |
|
| node.sysctl_data = &tmp; |
|
| error = sysctl_lookup(SYSCTLFN_CALL(&node)); |
|
| if (error || newp == NULL) |
|
| return (error); |
|
| |
|
| if (kauth_authorize_network(l->l_cred, KAUTH_NETWORK_FORWSRCRT, |
|
| NULL, NULL, NULL, NULL)) |
|
| return (EPERM); |
|
| |
|
| ip_forwsrcrt = tmp; |
|
| |
|
| return (0); |
|
| } |
|
| |
|
| /* |
|
| * sysctl helper routine for net.inet.ip.mtudisctimeout. checks the |
* sysctl helper routine for net.inet.ip.mtudisctimeout. checks the |
| * range of the new value and tweaks timers if it changes. |
* range of the new value and tweaks timers if it changes. |
| */ |
*/ |
| Line 2222 SYSCTL_SETUP(sysctl_net_inet_ip_setup, " |
|
| Line 2193 SYSCTL_SETUP(sysctl_net_inet_ip_setup, " |
|
| IPCTL_DEFMTU, CTL_EOL); |
IPCTL_DEFMTU, CTL_EOL); |
| #endif /* IPCTL_DEFMTU */ |
#endif /* IPCTL_DEFMTU */ |
| sysctl_createv(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |
| CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLFLAG_PERMANENT|CTLFLAG_READONLY1, |
| CTLTYPE_INT, "forwsrcrt", |
CTLTYPE_INT, "forwsrcrt", |
| SYSCTL_DESCR("Enable forwarding of source-routed " |
SYSCTL_DESCR("Enable forwarding of source-routed " |
| "datagrams"), |
"datagrams"), |
| sysctl_net_inet_ip_forwsrcrt, 0, &ip_forwsrcrt, 0, |
NULL, 0, &ip_forwsrcrt, 0, |
| CTL_NET, PF_INET, IPPROTO_IP, |
CTL_NET, PF_INET, IPPROTO_IP, |
| IPCTL_FORWSRCRT, CTL_EOL); |
IPCTL_FORWSRCRT, CTL_EOL); |
| sysctl_createv(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |