version 1.197.2.1, 2004/05/28 07:25:05 |
version 1.198, 2004/04/01 22:47:55 |
Line 1288 static u_int fragttl_histo[(IPFRAGTTL+1) |
|
Line 1288 static u_int fragttl_histo[(IPFRAGTTL+1) |
|
static u_int |
static u_int |
ip_reass_ttl_decr(u_int ticks) |
ip_reass_ttl_decr(u_int ticks) |
{ |
{ |
u_int i, nfrags, median; |
u_int nfrags, median, dropfraction, keepfraction; |
struct ipq *fp, *nfp; |
struct ipq *fp, *nfp; |
u_int dropfraction, keepfraction; |
int i; |
|
|
nfrags = 0; |
nfrags = 0; |
memset(fragttl_histo, 0, sizeof fragttl_histo); |
memset(fragttl_histo, 0, sizeof fragttl_histo); |
Line 2177 SYSCTL_SETUP(sysctl_net_inet_ip_setup, " |
|
Line 2177 SYSCTL_SETUP(sysctl_net_inet_ip_setup, " |
|
CTL_NET, CTL_EOL); |
CTL_NET, CTL_EOL); |
sysctl_createv(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |
CTLFLAG_PERMANENT, |
CTLFLAG_PERMANENT, |
CTLTYPE_NODE, "inet", |
CTLTYPE_NODE, "inet", NULL, |
SYSCTL_DESCR("PF_INET related settings"), |
|
NULL, 0, NULL, 0, |
NULL, 0, NULL, 0, |
CTL_NET, PF_INET, CTL_EOL); |
CTL_NET, PF_INET, CTL_EOL); |
sysctl_createv(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |
CTLFLAG_PERMANENT, |
CTLFLAG_PERMANENT, |
CTLTYPE_NODE, "ip", |
CTLTYPE_NODE, "ip", NULL, |
SYSCTL_DESCR("IPv4 related settings"), |
|
NULL, 0, NULL, 0, |
NULL, 0, NULL, 0, |
CTL_NET, PF_INET, IPPROTO_IP, CTL_EOL); |
CTL_NET, PF_INET, IPPROTO_IP, CTL_EOL); |
|
|
sysctl_createv(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLTYPE_INT, "forwarding", |
CTLTYPE_INT, "forwarding", NULL, |
SYSCTL_DESCR("Enable forwarding of INET datagrams"), |
|
NULL, 0, &ipforwarding, 0, |
NULL, 0, &ipforwarding, 0, |
CTL_NET, PF_INET, IPPROTO_IP, |
CTL_NET, PF_INET, IPPROTO_IP, |
IPCTL_FORWARDING, CTL_EOL); |
IPCTL_FORWARDING, CTL_EOL); |
sysctl_createv(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLTYPE_INT, "redirect", |
CTLTYPE_INT, "redirect", NULL, |
SYSCTL_DESCR("Enable sending of ICMP redirect messages"), |
|
NULL, 0, &ipsendredirects, 0, |
NULL, 0, &ipsendredirects, 0, |
CTL_NET, PF_INET, IPPROTO_IP, |
CTL_NET, PF_INET, IPPROTO_IP, |
IPCTL_SENDREDIRECTS, CTL_EOL); |
IPCTL_SENDREDIRECTS, CTL_EOL); |
sysctl_createv(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLTYPE_INT, "ttl", |
CTLTYPE_INT, "ttl", NULL, |
SYSCTL_DESCR("Default TTL for an INET datagram"), |
|
NULL, 0, &ip_defttl, 0, |
NULL, 0, &ip_defttl, 0, |
CTL_NET, PF_INET, IPPROTO_IP, |
CTL_NET, PF_INET, IPPROTO_IP, |
IPCTL_DEFTTL, CTL_EOL); |
IPCTL_DEFTTL, CTL_EOL); |
#ifdef IPCTL_DEFMTU |
#ifdef IPCTL_DEFMTU |
sysctl_createv(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |
CTLFLAG_PERMANENT /* |CTLFLAG_READWRITE? */, |
CTLFLAG_PERMANENT /* |CTLFLAG_READWRITE? */, |
CTLTYPE_INT, "mtu", |
CTLTYPE_INT, "mtu", NULL, |
SYSCTL_DESCR("Default MTA for an INET route"), |
|
NULL, 0, &ip_mtu, 0, |
NULL, 0, &ip_mtu, 0, |
CTL_NET, PF_INET, IPPROTO_IP, |
CTL_NET, PF_INET, IPPROTO_IP, |
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_READONLY1, |
CTLFLAG_PERMANENT|CTLFLAG_READONLY1, |
CTLTYPE_INT, "forwsrcrt", |
CTLTYPE_INT, "forwsrcrt", NULL, |
SYSCTL_DESCR("Enable forwarding of source-routed " |
|
"datagrams"), |
|
NULL, 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, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLTYPE_INT, "directed-broadcast", |
CTLTYPE_INT, "directed-broadcast", NULL, |
SYSCTL_DESCR("Enable forwarding of broadcast datagrams"), |
|
NULL, 0, &ip_directedbcast, 0, |
NULL, 0, &ip_directedbcast, 0, |
CTL_NET, PF_INET, IPPROTO_IP, |
CTL_NET, PF_INET, IPPROTO_IP, |
IPCTL_DIRECTEDBCAST, CTL_EOL); |
IPCTL_DIRECTEDBCAST, CTL_EOL); |
sysctl_createv(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLTYPE_INT, "allowsrcrt", |
CTLTYPE_INT, "allowsrcrt", NULL, |
SYSCTL_DESCR("Accept source-routed datagrams"), |
|
NULL, 0, &ip_allowsrcrt, 0, |
NULL, 0, &ip_allowsrcrt, 0, |
CTL_NET, PF_INET, IPPROTO_IP, |
CTL_NET, PF_INET, IPPROTO_IP, |
IPCTL_ALLOWSRCRT, CTL_EOL); |
IPCTL_ALLOWSRCRT, CTL_EOL); |
sysctl_createv(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLTYPE_INT, "subnetsarelocal", |
CTLTYPE_INT, "subnetsarelocal", NULL, |
SYSCTL_DESCR("Whether logical subnets are considered " |
|
"local"), |
|
NULL, 0, &subnetsarelocal, 0, |
NULL, 0, &subnetsarelocal, 0, |
CTL_NET, PF_INET, IPPROTO_IP, |
CTL_NET, PF_INET, IPPROTO_IP, |
IPCTL_SUBNETSARELOCAL, CTL_EOL); |
IPCTL_SUBNETSARELOCAL, CTL_EOL); |
sysctl_createv(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLTYPE_INT, "mtudisc", |
CTLTYPE_INT, "mtudisc", NULL, |
SYSCTL_DESCR("Use RFC1191 Path MTU Discovery"), |
|
NULL, 0, &ip_mtudisc, 0, |
NULL, 0, &ip_mtudisc, 0, |
CTL_NET, PF_INET, IPPROTO_IP, |
CTL_NET, PF_INET, IPPROTO_IP, |
IPCTL_MTUDISC, CTL_EOL); |
IPCTL_MTUDISC, CTL_EOL); |
sysctl_createv(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLTYPE_INT, "anonportmin", |
CTLTYPE_INT, "anonportmin", NULL, |
SYSCTL_DESCR("Lowest ephemeral port number to assign"), |
|
sysctl_net_inet_ip_ports, 0, &anonportmin, 0, |
sysctl_net_inet_ip_ports, 0, &anonportmin, 0, |
CTL_NET, PF_INET, IPPROTO_IP, |
CTL_NET, PF_INET, IPPROTO_IP, |
IPCTL_ANONPORTMIN, CTL_EOL); |
IPCTL_ANONPORTMIN, CTL_EOL); |
sysctl_createv(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLTYPE_INT, "anonportmax", |
CTLTYPE_INT, "anonportmax", NULL, |
SYSCTL_DESCR("Highest ephemeral port number to assign"), |
|
sysctl_net_inet_ip_ports, 0, &anonportmax, 0, |
sysctl_net_inet_ip_ports, 0, &anonportmax, 0, |
CTL_NET, PF_INET, IPPROTO_IP, |
CTL_NET, PF_INET, IPPROTO_IP, |
IPCTL_ANONPORTMAX, CTL_EOL); |
IPCTL_ANONPORTMAX, CTL_EOL); |
sysctl_createv(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLTYPE_INT, "mtudisctimeout", |
CTLTYPE_INT, "mtudisctimeout", NULL, |
SYSCTL_DESCR("Lifetime of a Path MTU Discovered route"), |
|
sysctl_net_inet_ip_pmtudto, 0, &ip_mtudisc_timeout, 0, |
sysctl_net_inet_ip_pmtudto, 0, &ip_mtudisc_timeout, 0, |
CTL_NET, PF_INET, IPPROTO_IP, |
CTL_NET, PF_INET, IPPROTO_IP, |
IPCTL_MTUDISCTIMEOUT, CTL_EOL); |
IPCTL_MTUDISCTIMEOUT, CTL_EOL); |
#ifdef GATEWAY |
#ifdef GATEWAY |
sysctl_createv(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLTYPE_INT, "maxflows", |
CTLTYPE_INT, "maxflows", NULL, |
SYSCTL_DESCR("Number of flows for fast forwarding"), |
|
sysctl_net_inet_ip_maxflows, 0, &ip_maxflows, 0, |
sysctl_net_inet_ip_maxflows, 0, &ip_maxflows, 0, |
CTL_NET, PF_INET, IPPROTO_IP, |
CTL_NET, PF_INET, IPPROTO_IP, |
IPCTL_MAXFLOWS, CTL_EOL); |
IPCTL_MAXFLOWS, CTL_EOL); |
#endif /* GATEWAY */ |
#endif /* GATEWAY */ |
sysctl_createv(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLTYPE_INT, "hostzerobroadcast", |
CTLTYPE_INT, "hostzerobroadcast", NULL, |
SYSCTL_DESCR("All zeroes address is broadcast address"), |
|
NULL, 0, &hostzeroisbroadcast, 0, |
NULL, 0, &hostzeroisbroadcast, 0, |
CTL_NET, PF_INET, IPPROTO_IP, |
CTL_NET, PF_INET, IPPROTO_IP, |
IPCTL_HOSTZEROBROADCAST, CTL_EOL); |
IPCTL_HOSTZEROBROADCAST, CTL_EOL); |
#if NGIF > 0 |
#if NGIF > 0 |
sysctl_createv(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLTYPE_INT, "gifttl", |
CTLTYPE_INT, "gifttl", NULL, |
SYSCTL_DESCR("Default TTL for a gif tunnel datagram"), |
|
NULL, 0, &ip_gif_ttl, 0, |
NULL, 0, &ip_gif_ttl, 0, |
CTL_NET, PF_INET, IPPROTO_IP, |
CTL_NET, PF_INET, IPPROTO_IP, |
IPCTL_GIF_TTL, CTL_EOL); |
IPCTL_GIF_TTL, CTL_EOL); |
Line 2304 SYSCTL_SETUP(sysctl_net_inet_ip_setup, " |
|
Line 2285 SYSCTL_SETUP(sysctl_net_inet_ip_setup, " |
|
#ifndef IPNOPRIVPORTS |
#ifndef IPNOPRIVPORTS |
sysctl_createv(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLTYPE_INT, "lowportmin", |
CTLTYPE_INT, "lowportmin", NULL, |
SYSCTL_DESCR("Lowest privileged ephemeral port number " |
|
"to assign"), |
|
sysctl_net_inet_ip_ports, 0, &lowportmin, 0, |
sysctl_net_inet_ip_ports, 0, &lowportmin, 0, |
CTL_NET, PF_INET, IPPROTO_IP, |
CTL_NET, PF_INET, IPPROTO_IP, |
IPCTL_LOWPORTMIN, CTL_EOL); |
IPCTL_LOWPORTMIN, CTL_EOL); |
sysctl_createv(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLTYPE_INT, "lowportmax", |
CTLTYPE_INT, "lowportmax", NULL, |
SYSCTL_DESCR("Highest privileged ephemeral port number " |
|
"to assign"), |
|
sysctl_net_inet_ip_ports, 0, &lowportmax, 0, |
sysctl_net_inet_ip_ports, 0, &lowportmax, 0, |
CTL_NET, PF_INET, IPPROTO_IP, |
CTL_NET, PF_INET, IPPROTO_IP, |
IPCTL_LOWPORTMAX, CTL_EOL); |
IPCTL_LOWPORTMAX, CTL_EOL); |
#endif /* IPNOPRIVPORTS */ |
#endif /* IPNOPRIVPORTS */ |
sysctl_createv(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLTYPE_INT, "maxfragpackets", |
CTLTYPE_INT, "maxfragpackets", NULL, |
SYSCTL_DESCR("Maximum number of fragments to retain for " |
|
"possible reassembly"), |
|
NULL, 0, &ip_maxfragpackets, 0, |
NULL, 0, &ip_maxfragpackets, 0, |
CTL_NET, PF_INET, IPPROTO_IP, |
CTL_NET, PF_INET, IPPROTO_IP, |
IPCTL_MAXFRAGPACKETS, CTL_EOL); |
IPCTL_MAXFRAGPACKETS, CTL_EOL); |
#if NGRE > 0 |
#if NGRE > 0 |
sysctl_createv(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLTYPE_INT, "grettl", |
CTLTYPE_INT, "grettl", NULL, |
SYSCTL_DESCR("Default TTL for a gre tunnel datagram"), |
|
NULL, 0, &ip_gre_ttl, 0, |
NULL, 0, &ip_gre_ttl, 0, |
CTL_NET, PF_INET, IPPROTO_IP, |
CTL_NET, PF_INET, IPPROTO_IP, |
IPCTL_GRE_TTL, CTL_EOL); |
IPCTL_GRE_TTL, CTL_EOL); |
#endif /* NGRE */ |
#endif /* NGRE */ |
sysctl_createv(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLTYPE_INT, "checkinterface", |
CTLTYPE_INT, "checkinterface", NULL, |
SYSCTL_DESCR("Enable receive side of Strong ES model " |
|
"from RFC1122"), |
|
NULL, 0, &ip_checkinterface, 0, |
NULL, 0, &ip_checkinterface, 0, |
CTL_NET, PF_INET, IPPROTO_IP, |
CTL_NET, PF_INET, IPPROTO_IP, |
IPCTL_CHECKINTERFACE, CTL_EOL); |
IPCTL_CHECKINTERFACE, CTL_EOL); |
sysctl_createv(clog, 0, NULL, NULL, |
sysctl_createv(clog, 0, NULL, NULL, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
CTLTYPE_INT, "random_id", |
CTLTYPE_INT, "random_id", NULL, |
SYSCTL_DESCR("Assign random ip_id values"), |
|
NULL, 0, &ip_do_randomid, 0, |
NULL, 0, &ip_do_randomid, 0, |
CTL_NET, PF_INET, IPPROTO_IP, |
CTL_NET, PF_INET, IPPROTO_IP, |
IPCTL_RANDOMID, CTL_EOL); |
IPCTL_RANDOMID, CTL_EOL); |